A developer needs to create an interface in a customer package to handle banking services. An implementation has been identified for online credit union services. Which interface and implementation classes adhere to the naming conventions?
In Advanced Gosu development, naming conventions are essential for maintaining a readable and professional codebase, especially when dealing with Object-Oriented patterns like Interfaces.
Guidewire follows standard software engineering practices (similar to Java) for defining interfaces and their concrete implementations. The best practice for an interface name is to prefix it with a capital " I " (e.g., IBankService). This immediately signals to other developers that the file defines a contract of methods rather than a concrete class. For the implementation class, the name should be descriptive of the specific logic it contains—in this case, CreditUnionBankService.
Options A and C are incorrect because _Ext is a suffix reserved for Enhancements and Data Model Extensions. Using it for a standalone class or interface is a misuse of the convention and would be confusing to Guidewire developers. Option D is discouraged because having the interface (BankService) and the implementation (CreditUnionBankService) without a clear naming distinction makes it harder to navigate the project in Guidewire Studio.
By using the I prefix for the interface as seen in Option B, the developer ensures that the code integrates logically into the larger Guidewire ecosystem, where many internal platform interfaces (like ICashFlow or IAddressSync) follow the same pattern. This promotes clear Source Code Management and adheres to the Gosu Coding Standards taught in the Developer curriculum.
Contribute your Thoughts:
Chosen Answer:
This is a voting comment (?). You can switch to a simple comment. It is better to Upvote an existing comment if you don't have anything to add.
Submit