+++ title = "Variable Naming" weight = 1420 tags = ["C/AL","Readability"] categories = ["Best Practice"] +++ Variables that refer to a C/AL object must contain the objects name, abbreviated where necessary. A variable must begin with a capital letter. Blanks, periods, and other characters (such as parentheses) that would make quotation marks around a variable necessary must be omitted. If a variable is a compound of two or more words or abbreviations, each word or abbreviation should begin with a capital letter. Bad code ```al ... WIPBuffer@1002 : Record 1018 ... OBJECT Table Job WIP Buffer ``` Good code ```al ... JobWIPBuffer@1002 : Record 1018 ... OBJECT Table Job WIP Buffer ``` Bad code ```al ... Postline@1004 : Codeunit 12; ... OBJECT Codeunit Gen. Jnl.-Post Line ``` Good code ```al ... GenJnlPostLine@1004 : Codeunit 12; ... OBJECT Codeunit Gen. Jnl.-Post Line ``` Bad code ```al LOCAL PROCEDURE HandleCustDebitCredit@17(...;"Amount (LCY)"@1001 : Decimal;...); BEGIN IF ((... ("Amount (LCY)" \> 0)) ...) OR ((... ("Amount (LCY)" < 0)) ...) THEN BEGIN ... ``` Good code ```al LOCAL PROCEDURE HandleCustDebitCredit@17(...;AmountLCY@1001 : Decimal;...); BEGIN IF ((... (AmountLCY \> 0)) ...) OR ((... (AmountLCY < 0)) ...) THEN BEGIN ... ```