Hello friends, today we will discuss Salesforce Development Code Commenting Best Practice. Creating comments in computer programs is detailing what the code is doing in a Human Readable Description. Code maintenance can be made easier and bugs can be found more quickly if comments are used correctly.
Also, check this: Lifecycle Hooks in LWC
Key Highlights :
- Commenting is the “ART” of describing what your program will do at a “high level”.
- Comments are specially marked lines of text in the program that are not evaluated.
- Keep track of what needs to be done.
- Description and clarity of what certain blocks of code do by adding context.
- It makes it easier for other developers when They will try to change the same code.
- You can install JavaDoc or ApexDoc in VS Code for Established Standards.
Process :
1. Apex Class Code Commenting: All Apex Classes header should begin with a brief comment describing the functional
/**
* @description : This class used for.
* @coverage : Test.cls | @CC100%
* @author : techdicerkeeplearning@gmail.com
* @group : Techdicer
* @last modified on : 05-27-2023
* @last modified by : techdicerkeeplearning@gmail.com
* Modifications Log
* Ver Date Author Modification
* 1.0 05-27-2023 techdicerkeeplearning@gmail.com Initial Version | Story Number | @CC100%
**/
public with sharing class AccountHandler{
}
2. Apex Class Method Code Commenting: All methods should have descriptions, parameters, and return type.
/**
* @description updates the Primary Contact field with the accoun
* @author techdicerkeeplearning@gmail.com | 05-27-2023 | Story Number
* @param jsonAccountList
* @param accountIds
* @return List<Account> returns the provided list of accounts
**/
public static List<Account> fetchDuplicateMatchList(String jsonAccountList, Set<Id> accountIds) {
return new List<Account>();
}
3. Apex Trigger Code Commenting: All Apex Trigger headers should begin with a brief comment describing the functional
/**
* @description : This Trigger used for.
* Name : AccountTrigger
* @coverage : AccountTriggerTest.cls | @CC100%
* @author : techdicerkeeplearning@gmail.com
* @group : Techdicer
* @last modified on : 05-27-2023
* @last modified by : techdicerkeeplearning@gmail.com
* Modifications Log
* Ver Date Author Modification
* 1.0 05-27-2023 techdicerkeeplearning@gmail.com Initial Version | Story Number | @CC100%
**/
trigger AccountTrigger on Account (before insert, before update, after insert, after update, before delete, after delete) {
}
4. LWC HTML:
<!--
@description :
@author : techdicerkeeplearning@gmail.com
@group : Techdicer
@last modified on : 05-27-2023
@last modified by : techdicerkeeplearning@gmail.com
Modifications Log
Ver Date Author Modification
1.0 05-27-2023 techdicerkeeplearning@gmail.com Initial Version | Story Number
-->
<template>
<div class="slds-m-around_medium">
<ul>
<template for:each={data} for:item="obj">
<li key={obj.key}>
<template if:true={isReportVisible}>
<a onclick={obj.key} href={obj.key} target="_blank">View additional information for CIC</a>
</template>
</li>
</template>
</ul>
</div>
</template>
4. LWC JS:
/**
* @description :
* @author : techdicerkeeplearning@gmail.com
* @group :
* @last modified on : 05-27-2023
* @last modified by : techdicerkeeplearning@gmail.com
* Modifications Log
* Ver Date Author Modification
* 1.0 05-27-2023 techdicerkeeplearning@gmail.com Initial Version
* 1.1 05-27-2023 techdicerkeeplearning@gmail.com Add Navigation in for navigate to other page
**/
import { LightningElement, wire, api, track } from "lwc";
import { NavigationMixin } from "lightning/navigation";
export default class LWC1 extends NavigationMixin(LightningElement) {
/**
* @description handleNavigateComponent method to naviagte the
* @author techdicerkeeplearning@gmail.com | 05-27-2023 | Story Number
* @param accountId the Account recordId
* @param status the Account record's status
* @summary use navigationMixin for navigate to account record
*/
handleNavigateComponent(accountId, status){
if(accountId != undefined){
this[NavigationMixin.Navigate]({
type: 'standard__recordPage',
attributes: {
recordId: accountId,
objectApiName: 'Account',
actionName: 'view'
},
});
}
}
}
