Merge pull request #127 from microsoft/waldo_tags

Added tags & categories + cleanup
This commit is contained in:
Arend-Jan Kauffmann 2022-02-24 22:02:48 +01:00 committed by GitHub
commit d6a2ff9437
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
161 changed files with 295 additions and 34 deletions

View file

@ -1,10 +1,10 @@
--- ---
title: "DeleteAll" title: "DeleteAll"
tags: ["Performance"] tags: ["AL","Performance"]
categories: ["Best Practice"] categories: ["Best Practice"]
--- ---
<_Created by waldo, Described by waldo_\> _Created by waldo, Described by waldo_
## Description ## Description

View file

@ -1,6 +1,6 @@
--- ---
title: "Subscriber Codeunits" title: "Subscriber Codeunits"
tags: ["Performance"] tags: ["AL","Performance"]
categories: ["Best Practice"] categories: ["Best Practice"]
--- ---

View file

@ -1,6 +1,6 @@
--- ---
title: "begin as an afterword" title: "begin as an afterword"
tags: ["Readability"] tags: ["AL","Readability"]
categories: ["Best Practice"] categories: ["Best Practice"]
--- ---

View file

@ -1,6 +1,6 @@
--- ---
title: "Begin-End - Compound Only" title: "Begin-End - Compound Only"
tags: ["Readability"] tags: ["AL","Readability"]
categories: ["Best Practice"] categories: ["Best Practice"]
--- ---

View file

@ -1,6 +1,6 @@
--- ---
title: "Binary Operator to Start Line" title: "Binary Operator to Start Line"
tags: ["Readability"] tags: ["AL","Readability"]
categories: ["Best Practice"] categories: ["Best Practice"]
--- ---

View file

@ -1,6 +1,6 @@
--- ---
title: "CASE Action on next line" title: "CASE Action on next line"
tags: ["Readability"] tags: ["AL","Readability"]
categories: ["Best Practice"] categories: ["Best Practice"]
--- ---

View file

@ -1,6 +1,6 @@
--- ---
title: "Comment Spacing" title: "Comment Spacing"
tags: ["Readability"] tags: ["AL","Readability"]
categories: ["Best Practice"] categories: ["Best Practice"]
--- ---

View file

@ -1,6 +1,6 @@
--- ---
title: "end else pair" title: "end else pair"
tags: ["Readability"] tags: ["AL","Readability"]
categories: ["Best Practice"] categories: ["Best Practice"]
--- ---

View file

@ -1,6 +1,6 @@
--- ---
title: "Keyword Pairs - Indentation" title: "Keyword Pairs - Indentation"
tags: ["Readability"] tags: ["AL","Readability"]
categories: ["Best Practice"] categories: ["Best Practice"]
--- ---

View file

@ -1,9 +1,9 @@
--- ---
title: "Line Start Keywords" title: "Line Start Keywords"
tags: ["Readability"] tags: ["AL","Readability"]
categories: ["Best Practice"] categories: ["Best Practice"]
--- ---
<_Created by Microsoft, Described by waldo_\> _Created by Microsoft, Described by waldo_
## Description ## Description
The `end`, `if`, `repeat`, `for`, `while`, `else` and `case` statement should always start a line. The `end`, `if`, `repeat`, `for`, `while`, `else` and `case` statement should always start a line.

View file

@ -1,6 +1,6 @@
--- ---
title: "Lonely Repeat" title: "Lonely Repeat"
tags: ["Readability"] tags: ["AL","Readability"]
categories: ["Best Practice"] categories: ["Best Practice"]
--- ---

View file

@ -1,6 +1,6 @@
--- ---
title: "Named Invocations" title: "Named Invocations"
tags: ["Readability"] tags: ["AL","Readability"]
categories: ["Best Practice"] categories: ["Best Practice"]
--- ---

View file

@ -1,6 +1,6 @@
--- ---
title: "One Statement per Line" title: "One Statement per Line"
tags: ["Readability"] tags: ["AL","Readability"]
categories: ["Best Practice"] categories: ["Best Practice"]
--- ---

View file

@ -1,6 +1,6 @@
--- ---
title: "Seperate if and else" title: "Seperate if and else"
tags: ["Readability"] tags: ["AL","Readability"]
categories: ["Best Practice"] categories: ["Best Practice"]
--- ---

View file

@ -1,6 +1,6 @@
--- ---
title: "Spacing Binary Operators" title: "Spacing Binary Operators"
tags: ["Readability"] tags: ["AL","Readability"]
categories: ["Best Practice"] categories: ["Best Practice"]
--- ---

View file

@ -1,6 +1,6 @@
--- ---
title: "Suggested Abbreviations" title: "Suggested Abbreviations"
tags: ["Readability"] tags: ["AL","Readability"]
categories: ["Best Practice"] categories: ["Best Practice"]
--- ---

View file

@ -1,6 +1,6 @@
--- ---
title: "Unnecessary else" title: "Unnecessary else"
tags: ["Readability"] tags: ["AL","Readability"]
categories: ["Best Practice"] categories: ["Best Practice"]
--- ---

View file

@ -1,6 +1,6 @@
--- ---
title: "Unnecessary true/false" title: "Unnecessary true/false"
tags: ["Readability"] tags: ["AL","Readability"]
categories: ["Best Practice"] categories: ["Best Practice"]
--- ---

View file

@ -1,6 +1,6 @@
--- ---
title: "Variable Naming" title: "Variable Naming"
tags: ["Readability"] tags: ["AL","Readability"]
categories: ["Best Practice"] categories: ["Best Practice"]
--- ---

View file

@ -1,6 +1,6 @@
--- ---
title: "Variables Declarations Order" title: "Variables Declarations Order"
tags: ["Readability"] tags: ["AL","Readability"]
categories: ["Best Practice"] categories: ["Best Practice"]
--- ---

View file

@ -1,6 +1,6 @@
--- ---
title: "Title Here" title: "Title Here"
tags: [] tags: ["AL"]
categories: ["Best Practice"] categories: ["Best Practice"]
--- ---

View file

@ -1,8 +1,8 @@
--- +++
title: "Pattern Name" title = "Pattern Name"
tags: [] tags = ["AL"]
categories: ["Pattern"] categories = ["Pattern"]
--- +++
<!-- This is a guideline, some parts are optional (if there's no content, remove the whole paragraph). --> <!-- This is a guideline, some parts are optional (if there's no content, remove the whole paragraph). -->

View file

@ -2,6 +2,7 @@
chapter = true chapter = true
title = "2. Anti-Patterns" title = "2. Anti-Patterns"
weight = 130 weight = 130
tags = ["C/AL"]
+++ +++
Some of the software development practices, had **not** stood the test of time. Despite that, some are still being used today by developers everywhere. Some of the software development practices, had **not** stood the test of time. Despite that, some are still being used today by developers everywhere.

View file

@ -1,6 +1,7 @@
+++ +++
title = "Nav Upgrade" title = "Nav Upgrade"
weight = 840 weight = 840
tags = ["C/AL"]
+++ +++
## Anti-Patterns in NAV Upgrade ## Anti-Patterns in NAV Upgrade

View file

@ -1,6 +1,7 @@
+++ +++
title = "Reusable Bugs" title = "Reusable Bugs"
weight = 1020 weight = 1020
tags = ["C/AL"]
+++ +++
_By Bogdana Botez, Andreas Moth, Eric Wauters (waldo), Elly Nkya, Nikola Kukrika_ _By Bogdana Botez, Andreas Moth, Eric Wauters (waldo), Elly Nkya, Nikola Kukrika_

View file

@ -2,6 +2,8 @@
chapter = true chapter = true
title = "3. CAL Coding Guidelines" title = "3. CAL Coding Guidelines"
weight = 150 weight = 150
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
We've decided to publish our current C/AL coding guidelines. They are actual, as per January 2015 when this is published (but might fall out of sync as time goes by). We've decided to publish our current C/AL coding guidelines. They are actual, as per January 2015 when this is published (but might fall out of sync as time goes by).

View file

@ -1,6 +1,8 @@
+++ +++
title = "Design" title = "Design"
weight = 490 weight = 490
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
## C/AL Coding Guidelines ## C/AL Coding Guidelines

View file

@ -1,6 +1,8 @@
+++ +++
title = "By Reference Parameters" title = "By Reference Parameters"
weight = 280 weight = 280
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
Do not declare parameters by reference if their values are not intended to be changed. Do not declare parameters by reference if their values are not intended to be changed.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Class Coupling" title = "Class Coupling"
weight = 320 weight = 320
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
Do not write functions that have high class coupling. This makes the code hard to maintain. Do not write functions that have high class coupling. This makes the code hard to maintain.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Cyclomatic Complexity" title = "Cyclomatic Complexity"
weight = 460 weight = 460
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
Do not write functions that have high cyclomatic complexity. This makes the code hard to maintain. Do not write functions that have high cyclomatic complexity. This makes the code hard to maintain.

View file

@ -1,5 +1,7 @@
+++ +++
title = "Encapsulate Local Functionality" title = "Encapsulate Local Functionality"
weight = 530 weight = 530
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
Any function used local must be defined as local. Any function used local must be defined as local.

View file

@ -1,6 +1,8 @@
+++ +++
title = "FINDSET FINDFIRST FINDLAST" title = "FINDSET FINDFIRST FINDLAST"
weight = 600 weight = 600
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
FINDSET, FIND('+') or FIND('-') should only be used when NEXT is used and vice versa. FINDSET, FIND('+') or FIND('-') should only be used when NEXT is used and vice versa.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Initialized Variables" title = "Initialized Variables"
weight = 660 weight = 660
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
Variables should always be set to a specific value, before they are used. Variables should always be set to a specific value, before they are used.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Maintainability Index" title = "Maintainability Index"
weight = 770 weight = 770
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
[Maintainability Index][anchor0]: Do not write functions that have a very low maintainability index. This makes the code hard to maintain. [Maintainability Index][anchor0]: Do not write functions that have a very low maintainability index. This makes the code hard to maintain.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Parameter Placeholders" title = "Parameter Placeholders"
weight = 920 weight = 920
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
The number of parameters passed to a string must match the placeholders. The number of parameters passed to a string must match the placeholders.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Static Object Invocation" title = "Static Object Invocation"
weight = 1160 weight = 1160
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
Call objects statically whenever possible. It reduces extra noise and removes extra variables. Downside: changing the name of the object which is called statically will need a code update. Call objects statically whenever possible. It reduces extra noise and removes extra variables. Downside: changing the name of the object which is called statically will need a code update.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Unreachable Code" title = "Unreachable Code"
weight = 1310 weight = 1310
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
Do not write code that will never be hit. Do not write code that will never be hit.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Unused Initialized Variables" title = "Unused Initialized Variables"
weight = 1320 weight = 1320
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
The value assigned to a variable must be used. Else the variable is not necessary. The value assigned to a variable must be used. Else the variable is not necessary.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Unused Variables" title = "Unused Variables"
weight = 1330 weight = 1330
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
Do not declare variables that are unused. Do not declare variables that are unused.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Variable Capacity Mismatch" title = "Variable Capacity Mismatch"
weight = 1410 weight = 1410
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
Do not assign a value to a variable whose capacity is smaller. Do not assign a value to a variable whose capacity is smaller.

View file

@ -1,6 +1,8 @@
+++ +++
title = "WITH Scope Name Collision" title = "WITH Scope Name Collision"
weight = 1450 weight = 1450
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
Do not use the WITH scope when it has a variable whose name is the same as a local variable. This can lead to wrong code assumptions. Do not use the WITH scope when it has a variable whose name is the same as a local variable. This can lead to wrong code assumptions.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Internally used DotNet Types" title = "Internally used DotNet Types"
weight = 690 weight = 690
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
_(Dynamics NAV 2015)_ _(Dynamics NAV 2015)_

View file

@ -1,6 +1,8 @@
+++ +++
title = "Internationalization" title = "Internationalization"
weight = 700 weight = 700
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
## C/AL Coding Guidelines ## C/AL Coding Guidelines

View file

@ -1,6 +1,8 @@
+++ +++
title = "Using Calcdate" title = "Using Calcdate"
weight = 1370 weight = 1370
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
CALCDATE should only be used with DateFormula variables. Alternatively the string should be enclosed using the <> symbols. CALCDATE should only be used with DateFormula variables. Alternatively the string should be enclosed using the <> symbols.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Localizability" title = "Localizability"
weight = 750 weight = 750
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
## C/AL Coding Guidelines ## C/AL Coding Guidelines

View file

@ -1,6 +1,8 @@
+++ +++
title = "CaptionML on System Pages" title = "CaptionML on System Pages"
weight = 300 weight = 300
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
CaptionML should always be specified on a page field for a system table. By default, system tables do not have captions, so if you need to use them in the UI then captions need to be added. CaptionML should always be specified on a page field for a system table. By default, system tables do not have captions, so if you need to use them in the UI then captions need to be added.

View file

@ -1,6 +1,8 @@
+++ +++
title = "FIELDCAPTION and TABLECAPTION" title = "FIELDCAPTION and TABLECAPTION"
weight = 580 weight = 580
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
For user messages, errors etc., use FIELDCAPTION not FIELDNAME and TABLECAPTION not TABLENAME. For user messages, errors etc., use FIELDCAPTION not FIELDNAME and TABLECAPTION not TABLENAME.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Global Text Constants" title = "Global Text Constants"
weight = 610 weight = 610
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
Declare Text Constant as global variables. Declare Text Constant as global variables.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Use Text Constants" title = "Use Text Constants"
weight = 1360 weight = 1360
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
Pass user messages using Text Constants. It makes translation easy. Pass user messages using Text Constants. It makes translation easy.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Using OptionCaptionML" title = "Using OptionCaptionML"
weight = 1380 weight = 1380
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
The OptionCaptionML should be filled in for sourceexpression using option data types. The OptionCaptionML should be filled in for sourceexpression using option data types.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Readability" title = "Readability"
weight = 980 weight = 980
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
## C/AL Coding Guidelines ## C/AL Coding Guidelines

View file

@ -1,6 +1,8 @@
+++ +++
title = "Begin as an 'After Word'" title = "Begin as an 'After Word'"
weight = 230 weight = 230
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
When BEGIN follows THEN, ELSE, DO, it should be on the same line, preceded by one space character. When BEGIN follows THEN, ELSE, DO, it should be on the same line, preceded by one space character.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Begin-End - Compound Only" title = "Begin-End - Compound Only"
weight = 240 weight = 240
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
Only use BEGIN..END to enclose compound statements. Only use BEGIN..END to enclose compound statements.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Binary Operator to Start Line" title = "Binary Operator to Start Line"
weight = 250 weight = 250
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
Do not start a line with a binary operator. Do not start a line with a binary operator.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Blank Lines" title = "Blank Lines"
weight = 260 weight = 260
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
Do not use blank lines at the beginning or end of any functions, after BEGIN, before END, or inside multiline expressions. Do not use blank lines at the beginning or end of any functions, after BEGIN, before END, or inside multiline expressions.

View file

@ -1,6 +1,8 @@
+++ +++
title = "CASE Action" title = "CASE Action"
weight = 310 weight = 310
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
A CASE action should start on a line after the possibility. A CASE action should start on a line after the possibility.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Colon usage in CASE" title = "Colon usage in CASE"
weight = 340 weight = 340
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
The last possibility on a CASE statement must be immediately followed by a colon. The last possibility on a CASE statement must be immediately followed by a colon.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Comments inside Curly Brackets" title = "Comments inside Curly Brackets"
weight = 350 weight = 350
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
Never use curly bracket comments. During development, the "Block comment" functionality can be used instead. However, in production code, block comments are not recommended. Never use curly bracket comments. During development, the "Block comment" functionality can be used instead. However, in production code, block comments are not recommended.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Comment Spacing" title = "Comment Spacing"
weight = 360 weight = 360
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
Always start comments with // followed by one space character. Always start comments with // followed by one space character.

View file

@ -1,6 +1,8 @@
+++ +++
title = "END ELSE Pair" title = "END ELSE Pair"
weight = 540 weight = 540
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
The END ELSE pair should always appear on the same line. The END ELSE pair should always appear on the same line.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Indentation" title = "Indentation"
weight = 650 weight = 650
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
In general, use an indentation of two space characters. Logical expressions in the IF, WHILE, and UNTIL parts are indented at least 3, 6, and 6 spaces respectively. In general, use an indentation of two space characters. Logical expressions in the IF, WHILE, and UNTIL parts are indented at least 3, 6, and 6 spaces respectively.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Keyword Pairs - Indentation" title = "Keyword Pairs - Indentation"
weight = 730 weight = 730
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
The IF..THEN pair, WHILE..DO pair, and FOR..DO pair must appear on the same line or the same level of indentation. The IF..THEN pair, WHILE..DO pair, and FOR..DO pair must appear on the same line or the same level of indentation.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Line Start Keywords" title = "Line Start Keywords"
weight = 740 weight = 740
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
The END, IF, REPEAT, FOR, WHILE, ELSE and CASE statement should always start a line. The END, IF, REPEAT, FOR, WHILE, ELSE and CASE statement should always start a line.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Lonely Repeat" title = "Lonely Repeat"
weight = 760 weight = 760
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
The REPEAT statement should always be alone on a line. The REPEAT statement should always be alone on a line.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Named Invocations" title = "Named Invocations"
weight = 830 weight = 830
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
When calling an object statically use the name, not the number When calling an object statically use the name, not the number

View file

@ -1,6 +1,8 @@
+++ +++
title = "Nested WITHs" title = "Nested WITHs"
weight = 850 weight = 850
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
Do not nest WITHs that reference different types of objects. Do not nest WITHs that reference different types of objects.

View file

@ -1,6 +1,8 @@
+++ +++
title = "One Statement Per Line" title = "One Statement Per Line"
weight = 910 weight = 910
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
A line of code should not have more than one statement. A line of code should not have more than one statement.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Separate IF and ELSE" title = "Separate IF and ELSE"
weight = 1050 weight = 1050
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
IF and ELSE statements should be on separate lines. IF and ELSE statements should be on separate lines.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Spacing Binary Operators" title = "Spacing Binary Operators"
weight = 1120 weight = 1120
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
There must be exactly one space character on each side of a binary operator such as = + - AND OR =. The parameter comma operator however, should have no spaces. There must be exactly one space character on each side of a binary operator such as = + - AND OR =. The parameter comma operator however, should have no spaces.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Spacing Brackets and ::" title = "Spacing Brackets and ::"
weight = 1130 weight = 1130
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
There must be no spaces characters before and after [] dimension brackets symbols or :: option symbols. There must be no spaces characters before and after [] dimension brackets symbols or :: option symbols.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Spacing Unary Operators" title = "Spacing Unary Operators"
weight = 1140 weight = 1140
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
There must be no space between a unary operator and its argument (except for the NOT keyword). There must be no space between a unary operator and its argument (except for the NOT keyword).

View file

@ -1,6 +1,8 @@
+++ +++
title = "Suggested Abbreviations" title = "Suggested Abbreviations"
weight = 1170 weight = 1170
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
### Suggested Abbreviations ### Suggested Abbreviations

View file

@ -1,6 +1,8 @@
+++ +++
title = "Temporary Variable Naming" title = "Temporary Variable Naming"
weight = 1200 weight = 1200
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
The name of a temporary variable must be prefixed with the word Temp and not otherwise. The name of a temporary variable must be prefixed with the word Temp and not otherwise.

View file

@ -1,6 +1,8 @@
+++ +++
title = "TextConst Suffixes" title = "TextConst Suffixes"
weight = 1210 weight = 1210
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
TextConst variable names should have a suffix (an approved three-letter suffix: Msg, Tok, Err, Qst, Lbl, Txt) describing usage. TextConst variable names should have a suffix (an approved three-letter suffix: Msg, Tok, Err, Qst, Lbl, Txt) describing usage.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Unary Operator Line End" title = "Unary Operator Line End"
weight = 1250 weight = 1250
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
Do not end a line with unary operator. Do not end a line with unary operator.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Unnecessary Compound Parenthesis" title = "Unnecessary Compound Parenthesis"
weight = 1260 weight = 1260
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
Use parenthesis only to enclose compound expressions inside compound expressions. Use parenthesis only to enclose compound expressions inside compound expressions.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Unnecessary ELSE" title = "Unnecessary ELSE"
weight = 1270 weight = 1270
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
ELSE should not be used when the last action in the THEN part is an EXIT, BREAK, SKIP, QUIT, ERROR. ELSE should not be used when the last action in the THEN part is an EXIT, BREAK, SKIP, QUIT, ERROR.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Unnecessary Function Parenthesis" title = "Unnecessary Function Parenthesis"
weight = 1280 weight = 1280
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
Do not use parenthesis in a function call if the function does not have any parameters. Do not use parenthesis in a function call if the function does not have any parameters.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Unnecessary Separators" title = "Unnecessary Separators"
weight = 1290 weight = 1290
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
There should be no unnecessary separators. There should be no unnecessary separators.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Unnecessary TRUE/FALSE" title = "Unnecessary TRUE/FALSE"
weight = 1300 weight = 1300
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
Do not use TRUE or FALSE keywords unnecessarily if the expression is already an logical expression. Do not use TRUE or FALSE keywords unnecessarily if the expression is already an logical expression.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Variable Already Scoped" title = "Variable Already Scoped"
weight = 1400 weight = 1400
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
Do not use scope ''.'' qualifier unnecessarily when a variable is already implicitly or explicitly scoped. It keeps the code simpler. Do not use scope ''.'' qualifier unnecessarily when a variable is already implicitly or explicitly scoped. It keeps the code simpler.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Variable Naming" title = "Variable Naming"
weight = 1420 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. Variables that refer to a C/AL object must contain the objects name, abbreviated where necessary.

View file

@ -1,6 +1,8 @@
+++ +++
title = "Variables Declarations Order" title = "Variables Declarations Order"
weight = 1430 weight = 1430
tags = ["C/AL","Readability"]
categories = ["Best Practice"]
+++ +++
Variables declarations should be ordered by type. In general, object and complex variable types are listed first followed by simple variables. The order should be the same as the object list in the object designer for C/AL objects. Afterwards come the complex variables like RecordRef, .NET, FieldRef etc. At the end come all the simple data types in no particular order. Variables declarations should be ordered by type. In general, object and complex variable types are listed first followed by simple variables. The order should be the same as the object list in the object designer for C/AL objects. Afterwards come the complex variables like RecordRef, .NET, FieldRef etc. At the end come all the simple data types in no particular order.

View file

@ -1,6 +1,8 @@
+++ +++
title = "UX" title = "UX"
weight = 1390 weight = 1390
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
## C/AL Coding Guidelines ## C/AL Coding Guidelines

View file

@ -1,6 +1,8 @@
+++ +++
title = "Actions - Images" title = "Actions - Images"
weight = 200 weight = 200
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
All actions must have an image assigned to them. All actions must have an image assigned to them.

View file

@ -1,6 +1,8 @@
+++ +++
title = "CONFIRM" title = "CONFIRM"
weight = 380 weight = 380
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
Always end CONFIRM with a question mark. Always end CONFIRM with a question mark.

View file

@ -1,6 +1,8 @@
+++ +++
title = "FIELDERROR" title = "FIELDERROR"
weight = 590 weight = 590
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
Never use FIELDERROR with a period as it is automatically inserted. Never use FIELDERROR with a period as it is automatically inserted.

View file

@ -1,6 +1,8 @@
+++ +++
title = "MESSAGE and ERROR" title = "MESSAGE and ERROR"
weight = 790 weight = 790
tags = ["C/AL"]
categories = ["Best Practice"]
+++ +++
Always end MESSAGE or ERROR with a period. Always end MESSAGE or ERROR with a period.

View file

@ -2,6 +2,7 @@
chapter = true chapter = true
title = "(OLD) Get Involved" title = "(OLD) Get Involved"
weight = 170 weight = 170
tags = ["C/AL"]
+++ +++
**Reminder, this is an ARCHIVE of the Patterns site, this information is not current.** **Reminder, this is an ARCHIVE of the Patterns site, this information is not current.**

View file

@ -1,6 +1,7 @@
+++ +++
title = "Code of Conduct" title = "Code of Conduct"
weight = 330 weight = 330
tags = ["C/AL"]
+++ +++
Find below the rules to be used when disseminating or relating to the NAV Design Patterns. Find below the rules to be used when disseminating or relating to the NAV Design Patterns.

View file

@ -1,6 +1,7 @@
+++ +++
title = "Patterns Authors" title = "Patterns Authors"
weight = 930 weight = 930
tags = ["C/AL"]
+++ +++
This is the list of people that have been part of the NAV Design Patterns team. If you would like to join the project follow the instructions provided on [Be a NAV Pattern Author][anchor0] page. This is the list of people that have been part of the NAV Design Patterns team. If you would like to join the project follow the instructions provided on [Be a NAV Pattern Author][anchor0] page.

View file

@ -1,6 +1,7 @@
+++ +++
title = "Template for writing Nav Design Patterns" title = "Template for writing Nav Design Patterns"
weight = 1180 weight = 1180
tags = ["C/AL"]
+++ +++
This is a guideline, some parts are optional (if there's no content, remove the whole paragraph). This is a guideline, some parts are optional (if there's no content, remove the whole paragraph).

View file

@ -1,6 +1,7 @@
+++ +++
title = "NAV Patterns Archive" title = "NAV Patterns Archive"
weight = 20 weight = 20
tags = ["C/AL"]
+++ +++
## About the archive ## About the archive

View file

@ -1,8 +1,8 @@
--- ---
title: "Patterns" title: "1. Patterns"
weight: 110 weight: 110
tags: ["NAV", "C/AL"] tags: ["C/AL"]
categories: ["Archived Pattern"] categories: ["Pattern"]
description: > description: >
Patterns described to be used with Microsoft Dynamics NAV Patterns described to be used with Microsoft Dynamics NAV
--- ---

View file

@ -1,6 +1,8 @@
+++ +++
title = "Activity Logs" title = "Activity Logs"
weight = 210 weight = 210
tags = ["C/AL"]
categories = ["Pattern"]
+++ +++
_Originally by Ciprian Iordache at Microsoft Development Center Copenhagen_ _Originally by Ciprian Iordache at Microsoft Development Center Copenhagen_

View file

@ -1,6 +1,8 @@
+++ +++
title = "Argument Table" title = "Argument Table"
weight = 220 weight = 220
tags = ["C/AL"]
categories = ["Pattern"]
+++ +++
_Originally By Nikola Kukrika and waldo_ _Originally By Nikola Kukrika and waldo_

View file

@ -1,6 +1,8 @@
+++ +++
title = "Blocked Entity" title = "Blocked Entity"
weight = 270 weight = 270
tags = ["C/AL"]
categories = ["Pattern"]
+++ +++
_Originally by Abhishek Ghosh at Microsoft Development Center Copenhagen_ _Originally by Abhishek Ghosh at Microsoft Development Center Copenhagen_

View file

@ -1,6 +1,8 @@
+++ +++
title = "Data Driven Blocked Entity" title = "Data Driven Blocked Entity"
weight = 470 weight = 470
tags = ["C/AL"]
categories = ["Pattern"]
+++ +++
_Written by Bogdan Andrei Sturzoiu, at Microsoft Development Center Copenhagen_ _Written by Bogdan Andrei Sturzoiu, at Microsoft Development Center Copenhagen_

View file

@ -1,6 +1,8 @@
+++ +++
title = "Cached Web Server Calls" title = "Cached Web Server Calls"
weight = 290 weight = 290
tags = ["C/AL"]
categories = ["Pattern"]
+++ +++
_Originally by Mostafa Balat, Microsoft Development Center Copenhagen_ _Originally by Mostafa Balat, Microsoft Development Center Copenhagen_

View file

@ -1,6 +1,8 @@
+++ +++
title = "Conditional Cascading Update" title = "Conditional Cascading Update"
weight = 370 weight = 370
tags = ["C/AL"]
categories = ["Pattern"]
+++ +++
_Originally by Jan Hoek at IDYN_ _Originally by Jan Hoek at IDYN_

Some files were not shown because too many files have changed in this diff Show more