hi guys, this is another short post of my “ALL About” posts series (the first of this year); in this case i want to write about “C/AL Coding Rules and Guidelines”.
below a short list of documents\pages about this topic,
First “ALL IN ONE” Document but “ALWAYS” useful is: “C/AL Coding Guidelines used at Microsoft Development Center Copenhagen” …”The Bible” for each C/AL Developer!
Source: C/AL Coding Guidelines used at Microsoft Development Center
you can download PDF document here: cal-coding-guidelines-at-microsoft-development-center-copenhagen
“ALL IN ONE” Document Vs Wiki & Community Feedback Philosophy
“CAL-Coding-Guidelines-at-Microsoft-Development-Center-Copenhagen.pdf” is “all in one document”. In contrast, on this wiki, the coding guidelines are published individually. The reason is: give you the chance to comment and share your oppinion on each one.
Question: Since we’re having the guidelines, how come there is still C/AL code in NAV which doesn’t respect them?
Answer: all new C/AL code is bound to follow the guidelines (else it cannot be checked-in). However, the code that existed before the rules – it does not. We had done cleanup in a certain degree. Now we’re gradually improving the old code base as we visit various objects in order to add new functionality, however chances are that code we didn’t touch in a long time had remained in its old form.
“Microsoft Dynamics Community is looking forward to your comments! Where you can, do provide concrete examples of the alternatives, Good and Bad”
Wiki Page on Design Patterns
https://community.dynamics.com/nav/w/designpatterns/156.cal-coding-guidelines
other nice resources:
nice doc on Mibuso about “How to work with record-variables”:
http://mibuso.com/howtos/how-to-work-with-record-variables-version-2
Nice general sections on MSDN
General C/AL Programming Format
https://msdn.microsoft.com/en-us/library/ee414237(v=nav.10).aspx
Programming Best Practices
https://msdn.microsoft.com/en-us/library/ee414204(v=nav.90).aspx
C/AL Comments
https://msdn.microsoft.com/en-us/library/dd301180(v=nav.90).aspx
C/AL Coding Guidelines Video
https://youtu.be/z6skKy0pkmU