Development Standards - revaturelabs/Examforce GitHub Wiki

General

  • Use declarative tools whenever possible (use a flow or formula field instead of Apex)
  • Give preference to LDS and the Wire Service over imperative solutions
  • Avoid record types, use pick list instead (Whenever possible)

Casing

  • Pascal Case : Class Names e.g. MyClass
  • Camel Case : Variable and Method Names e.g. myMethod()
  • Kebab Case : When calling components in LWC.
  • Snake Case : For controller and helper classes e.g. TriggerHelper_Account, also for custom fields and objects

Naming Conventions

  • TriggerHelper_{Trigger Name} : For Trigger helpers
  • LWC_{Component Name} : For LWC controllers
  • AuraController_{Component Name} : For Aura Component controllers
  • VisualforceController_{Page Name} : For Visualforce pages
  • Test_{Object Name} : Test Classes

Self Documenting Code

  • Variables should be descriptive whole nouns or adjectives
  • Methods and functions should be descriptive whole verb/s
  • Avoid using abbreviations. E.g. Use questionAnswer rather than qa

Style Guide

LWC

  • Standard components should be wrapped in a container (div, span, etc) and the wrapper container should have the styling applied to it. Avoid styling standard components whenever possible.
  • Use standard components whenever possible.
  • Give preference to CSS modules over individual component style sheets