Avoid using internal path for your classes ✔️Ans - com.guidewire.* should
be avoided. These can always be potentially changed or replaced during an
upgrade.
When referencing typecodes, use the static property on the typelist class
instead of the string representation ✔️Ans - Use TC_TYPECODE instead of
"typecode", example: LossCause.TC_REAREND instead of "rearend"
Use the text for logical operators instead of the symbols ✔️Ans - Use
"and","or", and "not" instead of "&&", "||", and "!"
Code placement ✔️Ans - 1) Avoid placing code within the CODE tab of a
PCF. Create a UI helper class instead
2) Avoid extending entity enhancements with code supporting UI operations
Avoid using deprecated classes and methods ✔️Ans - Guidewire will
eventually remove deprecated classes and methods.
Turn on and run Studio Inspections ✔️Ans - These analyze configuration
resources
Use whitespace effectively ✔️Ans - Add spaces around operators
Do not add spaces between parentheses and operators
Indent logical blocks of code by two spaces only
Add a blank line after code blocks
Add two blank lines after methods, including the last method in a class
Comments and Annotations ✔️Ans - Document new classes and functions
with Javadoc-style comments
Use single-line comments within functions and methods when you need to
clarify the intent of the code
Use GoseDoc annotations which are included when generating GosuDoc
"Upgrade-Safe" naming conventions: Add the suffix _Ext to ✔️Ans -
Columns added to existing entities
,Typecodes added to existing typelists
The name of custom entities
The name of custom typelists
New PCF files
Script parameters
Package naming conventions ✔️Ans - Use the format
customer.application.featurecategory.feature
Customer - company name abbreviation
Application- InsuranceSuite application code (pc, bc, cc, suite)
Feature Category - major feature (delinquency, configuration, integration)
Feature - feature (rating, catastrophe, authentication)
Example: si.suite.integration.authentication
Class naming conventions ✔️Ans - Use UpperCamelCase
Do not add _Ext to classes within customer package spaces
Function naming conventions ✔️Ans - Use lowerCamelCase
Use a verb that describes that the function is doing i.e. verifyAddress
Do not add _Ext suffix to private functions or enhancements in customer
package spaces
Variable naming conventions ✔️Ans - Member variable names use
lowerCamelCase with a leading underscore i.e. _pluginCallbackHandler
Local variable names use lowerCamelCase short names that describe the
purpose i.e. latestPolicyRevision
Display key naming conventions ✔️Ans - Add suffix _Ext too all new
display keys
Do not modify automatically generated display keys
Logging is ✔️Ans - The process of recording application actions and state
to a secondary interface
Logging is used for ✔️Ans - Application maintenance and troubleshooting
Creating statistics relating to application usage
Auditing by capturing significant events
, Typical events to log are ✔️Ans - Success / Failure - a transaction or action
has succeeded or failed
Recovery - a system went down or connection failed, retried, and recovered
Identification - any large functional areas such as integration, rating,
reinsurance, and rules
Logging components - Logger ✔️Ans - has a category and level, sends
content to an Appender
Logging components - Appender ✔️Ans - is an output destination (server
console or rolling file)
Logging components - Layout ✔️Ans - defines the format of the content
sent to an appender
Logging Level - Trace ✔️Ans - Description: Fine-grained informational
events
When to use: Log method entry and exit
Logging Level - Debug ✔️Ans - Description: Detailed informational events
When to use: Log important steps and calculations for diagnosing problems
Logging Level - Info ✔️Ans - Description: Coarse-grained informational
messages of progress
When to use: Log the occurrence or result of an important event
Logging Level - Warn ✔️Ans - Description: Indicate a potential problem
When to use: The user experience has not been affected
Logging Level - Error ✔️Ans - Description - Indicate definite problems
When to use: The user experience has been affected
There are 2 ways to initialize a logger in Gosu ✔️Ans - Integration:
PLLoggerCategory.INTEGRATION
Plugin: PLLoggerCategory.PLUGIN
Use sub-level of existing logging category to maintain structure.
Example: PLUGIN.MotorVehicleRecord
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller Studycafe. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $17.99. You're not tied to anything after your purchase.