Skip to main content

Rules, Guardrails, and Naming Conventions: a Pega Best Practice

What's in a name?

Sometimes we forget to stress the importance of naming guardrails when discussing guardrail design. Rule naming is one of the most crucial players in Pega Platform application design.

In my experience of interacting with various developers, I've noticed that following proper naming conventions is probably one of the most ignored areas in the Pega application development cycle. There are a good deal of rules which are heavily used during development, yet aren't paid much attention when it comes to naming conventions and consistency.

These rule types are Class, Activity, Property, Flow Action, and Ruleset.

It’s time to discuss some of the naming best practices or guardrails that developers should keep in mind while designing their application.

 

Class:

  • Use nouns for class names, and always capitalize the first letter
  • Avoid acronyms and write words out in their entirety for clarity
  • Never use underscore
  • Name related objects accordingly
  • Use the same naming conventions for class groups as for classes

Example: MyCo-Request-Loan

 

Activity:

  • Naming convention should start with a verb and also contain a noun to indicate what it does
  • Use mixed case with the first letter in uppercase as well as the first letter of each word
  • Avoid using generic names like Create and Approve
  • Router activities should always start with To

Examples: ToTeamManager, CreateClassReference, GetFileLocation

 

Property:

  • Naming conventions should be nouns or noun phrases that describe the property
  • As mentioned for Activity, the first letter should be capitalized as well as the first letter of each internal word
  • The names of pagelist properties should end with list, and pagegroup properties should end with group

Examples: FirstName, AccountNumber, CustomerList

 

Flow actions:

  • Use a verb plus noun convention
  • Use pre if used with a pre-activity
  • Use post if used with a post-activity
  • Use val if used with a validate record

Examples: PrePlannedCampaign, PostActionCampaign, ValEligibleUsers

Rulesets:

  • Create a new ruleset with a top-level class that inherits directly from @baseclass
  • Always begin your ruleset name with something that uniquely identifies your company and the business purpose
  • Avoid the use of special characters such as dashes, underscores, plus signs, quotes
  • Use names that make sense; easy to remember and are short and catchy
  • Avoid using obscure acronyms

Example : MyCoLoan

 

Apart from this, special care needs to be taken during the naming of case lifecycle management as well.  Three of the very basic elements of case lifecycle are detailed below.

 

Stages:

  • Use nouns or gerunds as a naming convention
  • Avoid using verbs which describe an action or a status

 

Steps:

  • Keep in mind that steps are a to-do list, so the naming convention should reflect this
  • Use a combination of verb and noun
  • The name should describe the step’s overall purpose

Examples: Verify Application, Send Correspondence

 

Cases:

  • Use a noun convention
  • Avoid using nonspecific names
    • For instance, in a financial services organization, there may be Auto Loan cases and Auto Accident cases. Getting immediate context from the transaction name is crucial

 

Keep in mind these basic guardrails for developers to follow while designing their application, solidified by easy naming conventions. It will help the team to recall the purpose of the rules just by seeing the names.

 

 

About the author

Santanu Bhattacherjee is an avid technical blogger who loves sharing his knowledge and experience to those with similar interests. Santanu has around 10 years of experience in the IT industry and has been with Pega since 2009.

He is a Pega Certified Lead System Architect and currently working as a manager in the Pega Global Customer Support at Hyderabad, India.

Santanu also manages a blog here. He is one of the top contributors to the Pega Product Support Community on PDN and would love to answer any questions you have.