From a1438deb71302afd4b5a76e5732ff2d00f025204 Mon Sep 17 00:00:00 2001 From: waldo1001 Date: Sun, 12 Dec 2021 00:22:08 +0100 Subject: [PATCH 1/2] Variables Declarations Order --- .../variables-declarations-order/index.md | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 content/BCBestPractices/Readability/variables-declarations-order/index.md diff --git a/content/BCBestPractices/Readability/variables-declarations-order/index.md b/content/BCBestPractices/Readability/variables-declarations-order/index.md new file mode 100644 index 00000000..6f598728 --- /dev/null +++ b/content/BCBestPractices/Readability/variables-declarations-order/index.md @@ -0,0 +1,29 @@ ++++ +title = "Variables Declarations Order" +weight = 1430 ++++ + +<_Created by Microsoft, Described by waldo_\> + +## Description +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 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. + +## Bad code + +```al + StartingDateFilter : Text; + Vendor : Record Vendor; +``` + +## Good code + +```al + Vendor : Record Vendor; + StartingDateFilter : Text; +``` + +## [Discussions](https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=one+variables+declarations+order+category%3A%22BC+Best+Practices%22) + +You can find discussions on all "Best Practices" [here](https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices). + +If you don't find the discussion of this guideline, please feel fee to create a new one with the same title as this article. \ No newline at end of file From d5f6816829f7518aa42c10d39f0797fc1dd321f3 Mon Sep 17 00:00:00 2001 From: waldo1001 Date: Mon, 13 Dec 2021 16:31:51 +0100 Subject: [PATCH 2/2] Requested changes --- .../variables-declarations-order/index.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/content/BCBestPractices/Readability/variables-declarations-order/index.md b/content/BCBestPractices/Readability/variables-declarations-order/index.md index 6f598728..d5b47167 100644 --- a/content/BCBestPractices/Readability/variables-declarations-order/index.md +++ b/content/BCBestPractices/Readability/variables-declarations-order/index.md @@ -6,7 +6,24 @@ weight = 1430 <_Created by Microsoft, Described by waldo_\> ## Description -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 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: + +- Record +- Report +- Codeunit +- XmlPort +- Page +- Query +- Notification +- BigText +- DateFormula +- RecordId +- RecordRef +- FieldRef +- FilterPageBuilder + +(Ref: [Microsoft Docs](https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/analyzers/codecop-aa0021)) + ## Bad code