Guidewire Best Practices Exam (QUESTIONS \| \| \| \| \|
WITH 100% CORRECT ANSWERS ) (2025 / \| \| \| \| \| \| \|
2026)
Avoid using internal path for your classes - correct answer ✔✔-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 - correct answer ✔✔-Use TC_TYPECODE instead of "typecode", example:
\| \| \| \| \| \| \| \| \| \|
LossCause.TC_REAREND instead of "rearend" \| \| \|
Use the text for logical operators instead of the symbols - correct answer ✔✔-Use "and","or",
\| \| \| \| \| \| \| \| \| \| \| \| \| \| \|
and "not" instead of "&&", "||", and "!"
\| \| \| \| \| \| \|
Code placement - correct answer ✔✔-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 - correct answer ✔✔-Guidewire will eventually
\| \| \| \| \| \| \| \| \| \| \| \|
remove deprecated classes and methods.
\| \| \| \|
Turn on and run Studio Inspections - correct answer ✔✔-These analyze configuration resources
\| \| \| \| \| \| \| \| \| \| \| \|
Use whitespace effectively - correct answer ✔✔-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 - correct answer ✔✔-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 - correct answer ✔✔-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 - correct answer ✔✔-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 - correct answer ✔✔-Use UpperCamelCase
\| \| \| \| \| \| \|
Do not add _Ext to classes within customer package spaces
\| \| \| \| \| \| \| \| \|
Function naming conventions - correct answer ✔✔-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 - correct answer ✔✔-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 - correct answer ✔✔-Add suffix _Ext too all new display keys
\| \| \| \| \| \| \| \| \| \| \| \| \| \|
Do not modify automatically generated display keys
\| \| \| \| \| \|
Logging is - correct answer ✔✔-The process of recording application actions and state to a
\| \| \| \| \| \| \| \| \| \| \| \| \| \| \|
secondary interface \|
Logging is used for - correct answer ✔✔-Application maintenance and troubleshooting
\| \| \| \| \| \| \| \| \| \|
Creating statistics relating to application usage
\| \| \| \| \|
Auditing by capturing significant events
\| \| \| \|
Typical events to log are - correct answer ✔✔-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 - correct answer ✔✔-has a category and level, sends content to an
\| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \|
Appender
Logging components - Appender - correct answer ✔✔-is an output destination (server console or
\| \| \| \| \| \| \| \| \| \| \| \| \| \|
rolling file) \|
Logging components - Layout - correct answer ✔✔-defines the format of the content sent to an
\| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \|
appender
Logging Level - Trace - correct answer ✔✔-Description: Fine-grained informational events
\| \| \| \| \| \| \| \| \| \|
When to use: Log method entry and exit
\| \| \| \| \| \| \|
WITH 100% CORRECT ANSWERS ) (2025 / \| \| \| \| \| \| \|
2026)
Avoid using internal path for your classes - correct answer ✔✔-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 - correct answer ✔✔-Use TC_TYPECODE instead of "typecode", example:
\| \| \| \| \| \| \| \| \| \|
LossCause.TC_REAREND instead of "rearend" \| \| \|
Use the text for logical operators instead of the symbols - correct answer ✔✔-Use "and","or",
\| \| \| \| \| \| \| \| \| \| \| \| \| \| \|
and "not" instead of "&&", "||", and "!"
\| \| \| \| \| \| \|
Code placement - correct answer ✔✔-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 - correct answer ✔✔-Guidewire will eventually
\| \| \| \| \| \| \| \| \| \| \| \|
remove deprecated classes and methods.
\| \| \| \|
Turn on and run Studio Inspections - correct answer ✔✔-These analyze configuration resources
\| \| \| \| \| \| \| \| \| \| \| \|
Use whitespace effectively - correct answer ✔✔-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 - correct answer ✔✔-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 - correct answer ✔✔-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 - correct answer ✔✔-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 - correct answer ✔✔-Use UpperCamelCase
\| \| \| \| \| \| \|
Do not add _Ext to classes within customer package spaces
\| \| \| \| \| \| \| \| \|
Function naming conventions - correct answer ✔✔-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 - correct answer ✔✔-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 - correct answer ✔✔-Add suffix _Ext too all new display keys
\| \| \| \| \| \| \| \| \| \| \| \| \| \|
Do not modify automatically generated display keys
\| \| \| \| \| \|
Logging is - correct answer ✔✔-The process of recording application actions and state to a
\| \| \| \| \| \| \| \| \| \| \| \| \| \| \|
secondary interface \|
Logging is used for - correct answer ✔✔-Application maintenance and troubleshooting
\| \| \| \| \| \| \| \| \| \|
Creating statistics relating to application usage
\| \| \| \| \|
Auditing by capturing significant events
\| \| \| \|
Typical events to log are - correct answer ✔✔-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 - correct answer ✔✔-has a category and level, sends content to an
\| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \|
Appender
Logging components - Appender - correct answer ✔✔-is an output destination (server console or
\| \| \| \| \| \| \| \| \| \| \| \| \| \|
rolling file) \|
Logging components - Layout - correct answer ✔✔-defines the format of the content sent to an
\| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \|
appender
Logging Level - Trace - correct answer ✔✔-Description: Fine-grained informational events
\| \| \| \| \| \| \| \| \| \|
When to use: Log method entry and exit
\| \| \| \| \| \| \|