This commit is contained in:
TheDoubleH 2022-02-25 16:46:16 +00:00
parent a35732a260
commit a527835756
201 changed files with 598 additions and 1100 deletions

View file

@ -55,7 +55,7 @@
</li>
</ul>
</div>
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder="&#xf002; Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.2b0c36478a8660f3dec37e0c539508bc.json data-offline-search-base-href=/ data-offline-search-max-results=10>
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder="&#xf002; Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.446cc05ee9bff165bd123d203082adb7.json data-offline-search-base-href=/ data-offline-search-max-results=10>
</div>
</nav>
</header>

View file

@ -11,9 +11,7 @@
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">if&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>ICPartnerRefType&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>=&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>ICPartnerRefType&lt;span style="color:#000;font-weight:bold">::&lt;/span>&amp;#34;Common Item No.&amp;#34;&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">then&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">begin&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">...
&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">end&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qbeginasanafterwordcategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=begin+as+an+After+Word+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Begin-End - Compound Only</title><link>https://alguidelines.dev/docs/bestpractices/begin-end/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/begin-end/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Begin-End - Compound Only</title><link>https://alguidelines.dev/docs/bestpractices/begin-end/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/begin-end/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;p>Only use begin..end to enclose &lt;a href="https://docs.microsoft.com/en-us/cpp/c-language/compound-statement-c?view=msvc-170#:~:text=A%20compound%20statement%20%28also%20called%20a%20%22block%22%29%20typically,appear%20at%20the%20head%20of%20a%20compound%20statement.">compound statements&lt;/a>.&lt;/p>
&lt;h2 id="bad-code">Bad code&lt;/h2>
@ -41,9 +39,7 @@
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#8f5902;font-style:italic">//DO SOMETHING;
&lt;/span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span>&lt;span style="color:#204a87;font-weight:bold">end&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">else&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>&lt;span style="color:#204a87;font-weight:bold">not&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>X&lt;span style="color:#ce5c00;font-weight:bold">)
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qbeginendcompoundonlycategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=begin+end+compound+only+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Binary Operator to Start Line</title><link>https://alguidelines.dev/docs/bestpractices/binary-operator-line-start/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/binary-operator-line-start/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Binary Operator to Start Line</title><link>https://alguidelines.dev/docs/bestpractices/binary-operator-line-start/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/binary-operator-line-start/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>Do not start a line with a binary operator.&lt;/p>
@ -55,9 +51,7 @@
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-AL" data-lang="AL">&amp;#34;Quantity to Ship&amp;#34;&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">:=&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">&lt;/span>Quantity&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>-&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">&lt;/span>&amp;#34;Quantity Shipped&amp;#34;&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qbinaryoperatortostartlinecategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=binary+operator+to+start+line+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: CASE Action on next line</title><link>https://alguidelines.dev/docs/bestpractices/case-actions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/case-actions/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: CASE Action on next line</title><link>https://alguidelines.dev/docs/bestpractices/case-actions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/case-actions/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>A CASE action should start on a line after the possibility.&lt;/p>
@ -73,9 +67,7 @@
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#39;B&amp;#39;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>Letter2&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">:=&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#39;11&amp;#39;&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">end&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qcaseactiononnextlinecategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=case+action+on+next+line+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Comment Spacing</title><link>https://alguidelines.dev/docs/bestpractices/comments-spacing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/comments-spacing/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Comment Spacing</title><link>https://alguidelines.dev/docs/bestpractices/comments-spacing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/comments-spacing/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>Always start comments with // followed by one space character.&lt;/p>
@ -83,9 +75,7 @@
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">RowNo&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">+=&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#0000cf;font-weight:bold">1000&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#8f5902;font-style:italic">//Move way below the budget
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="good-code">Good code&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">RowNo&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">+=&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#0000cf;font-weight:bold">1000&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#8f5902;font-style:italic">// Move way below the budget
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qcommentspacingcategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=comment+spacing+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: DeleteAll</title><link>https://alguidelines.dev/docs/bestpractices/deleteall/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/deleteall/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: DeleteAll</title><link>https://alguidelines.dev/docs/bestpractices/deleteall/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/deleteall/</guid><description>
&lt;p>&lt;em>Created by waldo, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>When you perform a &amp;ldquo;DeleteAll&amp;rdquo; when there is nothing to delete, it will still perform a lock. When you for example perform a DeleteAll on an empty table, it will result in a table lock.
@ -97,10 +87,7 @@ Therefore it&amp;rsquo;s good practice to always check if the table is empty whe
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>EmptyTableWLD&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>SetRange&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>&lt;span style="color:#204a87;font-weight:bold">Code&lt;/span>&lt;span style="color:#000;font-weight:bold">,&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#39;AJ&amp;#39;&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">)&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">if&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">not&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>EmptyTableWLD&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>IsEmpty&lt;span style="color:#ce5c00;font-weight:bold">() &lt;/span>&lt;span style="color:#204a87;font-weight:bold">then&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>EmptyTableWLD&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>DeleteAll&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>true&lt;span style="color:#ce5c00;font-weight:bold">)&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussions">Discussions&lt;/h2>
&lt;p>You can discuss the guideline &lt;a href="https://github.com/microsoft/alguidelines/discussions/107">here&lt;/a>&lt;/p>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: end else pair</title><link>https://alguidelines.dev/docs/bestpractices/end-else-pair/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/end-else-pair/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: end else pair</title><link>https://alguidelines.dev/docs/bestpractices/end-else-pair/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/end-else-pair/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>The &lt;code>end else&lt;/code> pair should always appear on the same line.&lt;/p>
@ -120,9 +107,7 @@ Therefore it&amp;rsquo;s good practice to always check if the table is empty whe
&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">end&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">else&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">begin&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">...
&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">end&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qendelsepaircategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=end+else/pair+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Event Bridge</title><link>https://alguidelines.dev/docs/patterns/event-bridge-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/event-bridge-pattern/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Event Bridge</title><link>https://alguidelines.dev/docs/patterns/event-bridge-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/event-bridge-pattern/</guid><description>
&lt;p>&lt;em>Created by waldo &amp;amp; Arend-Jan Kauffmann, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="abstract">Abstract&lt;/h2>
&lt;p>In the world of interfaces, it is important to preserve (certain) events over multiple implementation of the interface.&lt;/p>
@ -199,9 +184,7 @@ When a new implementation is created, we need to make sure that these events are
&lt;p>This new codeunit, with public events, makes the events accessible from all places, including new apps that are dependent from this app, and wants to extend the&lt;/p>
&lt;p>The naming convention (both starting with &amp;ldquo;IScale&amp;rdquo;) also makes it very easy to find that corresponding events for the interface.&lt;/p>
&lt;h2 id="when-not-to-use">When not to use&lt;/h2>
&lt;p>Obviously, the events should be carefully considered: only the events that make sense to &amp;ldquo;share&amp;rdquo; over all implementations, need this approach.&lt;/p>
&lt;h2 id="discussions">Discussions&lt;/h2>
&lt;p>You can discuss this pattern &lt;a href="https://github.com/microsoft/alguidelines/discussions/66">here&lt;/a>&lt;/p></description></item><item><title>Docs: Façade</title><link>https://alguidelines.dev/docs/patterns/facade-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/facade-pattern/</guid><description>
&lt;p>Obviously, the events should be carefully considered: only the events that make sense to &amp;ldquo;share&amp;rdquo; over all implementations, need this approach.&lt;/p></description></item><item><title>Docs: Façade</title><link>https://alguidelines.dev/docs/patterns/facade-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/facade-pattern/</guid><description>
&lt;p>&lt;em>Created by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (Gang of Four), Described by Jesper Schulz-Wedde (Microsoft)&lt;/em>&lt;/p>
&lt;h2 id="abstract">Abstract&lt;/h2>
&lt;p>The intent of this pattern is to provide a unified API to a single or a collection of potentially complex subsystems. If you apply this pattern as a general pattern, you will ensure improved:&lt;/p>
@ -332,9 +315,7 @@ In Business Central, all modules in the System Application are subsystems. Examp
&lt;p>This is one of the most commonly used and discussed, initially described here:&lt;/p>
&lt;p>&lt;a href="https://archive.org/details/designpatternsel00gamm/page/185">Design Patterns: Elements of Reusable Object-Oriented Software&lt;/a>. Addison Wesley. pp. 185ff. ISBN 0-201-63361-2.&lt;/p>
&lt;p>It is also a key pattern in the design of our system application modules, which is described here:&lt;/p>
&lt;p>&lt;a href="https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-blueprint">Module Architecture&lt;/a>&lt;/p>
&lt;h2 id="discussions">Discussions&lt;/h2>
&lt;p>You can discuss this pattern &lt;a href="https://github.com/microsoft/alguidelines/discussions/42">here&lt;/a>&lt;/p></description></item><item><title>Docs: Generic Method</title><link>https://alguidelines.dev/docs/patterns/generic-method-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/generic-method-pattern/</guid><description>
&lt;p>&lt;a href="https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-blueprint">Module Architecture&lt;/a>&lt;/p></description></item><item><title>Docs: Generic Method</title><link>https://alguidelines.dev/docs/patterns/generic-method-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/generic-method-pattern/</guid><description>
&lt;p>&lt;em>Created by Gary Winter (Cloud Ready Software), Described by waldo (iFacto Business Solutions | Dynex)&lt;/em>&lt;/p>
&lt;h2 id="abstract">Abstract&lt;/h2>
&lt;p>The goal of this pattern is to facilitate a lot of things in one single awesome way of writing code. If you apply this pattern as a general pattern, you&amp;rsquo;ll implement:&lt;/p>
@ -601,9 +582,7 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;p>There have been a number of occasions where people have been sharing this pattern. Here is one:&lt;/p>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe src="https://www.youtube.com/embed/CWpaD9RUa6U" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video">&lt;/iframe>
&lt;/div>
&lt;h2 id="discussions">Discussions&lt;/h2>
&lt;p>You can discuss this pattern &lt;a href="https://github.com/microsoft/alguidelines/discussions/41">here&lt;/a>&lt;/p></description></item><item><title>Docs: Keyword Pairs - Indentation</title><link>https://alguidelines.dev/docs/bestpractices/keyword-pairs-indentation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/keyword-pairs-indentation/</guid><description>
&lt;/div></description></item><item><title>Docs: Keyword Pairs - Indentation</title><link>https://alguidelines.dev/docs/bestpractices/keyword-pairs-indentation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/keyword-pairs-indentation/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>The &lt;code>if..then&lt;/code> pair, &lt;code>while..do&lt;/code> pair, and &lt;code>for..do&lt;/code> pair must appear on the same line or the same level of indentation. If possible, you can align the lines it is even much more readable.&lt;/p>
@ -614,9 +593,7 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">if&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>x&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>=&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>y&lt;span style="color:#ce5c00;font-weight:bold">) &lt;/span>&lt;span style="color:#204a87;font-weight:bold">and&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>a&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>=&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>b&lt;span style="color:#ce5c00;font-weight:bold">)
&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">then&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qkeywordpairindentationcategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=keyword+pair+indentation+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Line Start Keywords</title><link>https://alguidelines.dev/docs/bestpractices/line-start-keywords/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/line-start-keywords/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Line Start Keywords</title><link>https://alguidelines.dev/docs/bestpractices/line-start-keywords/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/line-start-keywords/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>The &lt;code>end&lt;/code>, &lt;code>if&lt;/code>, &lt;code>repeat&lt;/code>, &lt;code>for&lt;/code>, &lt;code>while&lt;/code>, &lt;code>else&lt;/code> and &lt;code>case&lt;/code> statement should always start a line.&lt;/p>
@ -633,9 +610,7 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">else&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">if&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>IsSalesCycleCode&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">then&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>ValidatSalesCycleCode&lt;span style="color:#ce5c00;font-weight:bold">()&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qlinestartkeywordcategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=line+start+keyword+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Lonely Repeat</title><link>https://alguidelines.dev/docs/bestpractices/lonely-repeat/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/lonely-repeat/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Lonely Repeat</title><link>https://alguidelines.dev/docs/bestpractices/lonely-repeat/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/lonely-repeat/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>The &lt;code>repeat&lt;/code> statement should always be alone on a line.&lt;/p>
@ -644,9 +619,7 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="good-code">Good code&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">if&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>ReservEntry&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>FindSet&lt;span style="color:#ce5c00;font-weight:bold">() &lt;/span>&lt;span style="color:#204a87;font-weight:bold">then&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">repeat&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qlonelyrepeatcategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=lonely+repeat+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Named Invocations</title><link>https://alguidelines.dev/docs/bestpractices/named-invocations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/named-invocations/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Named Invocations</title><link>https://alguidelines.dev/docs/bestpractices/named-invocations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/named-invocations/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>When calling an object statically use the Object Name, not the Object Id.&lt;/p>
@ -654,9 +627,7 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">Page&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>RunModal&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>&lt;span style="color:#0000cf;font-weight:bold">525&lt;/span>&lt;span style="color:#000;font-weight:bold">,&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>SalesShptLine&lt;span style="color:#ce5c00;font-weight:bold">)&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="good-code">Good code&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">Page&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>RunModal&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>&lt;span style="color:#204a87;font-weight:bold">Page&lt;/span>&lt;span style="color:#000;font-weight:bold">::&lt;/span>&amp;#34;Posted Sales Shipment Lines&amp;#34;&lt;span style="color:#000;font-weight:bold">,&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>SalesShptLine&lt;span style="color:#ce5c00;font-weight:bold">)&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qnamedinvocationscategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=named+invocations+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: One Statement per Line</title><link>https://alguidelines.dev/docs/bestpractices/one-statement-per-line/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/one-statement-per-line/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: One Statement per Line</title><link>https://alguidelines.dev/docs/bestpractices/one-statement-per-line/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/one-statement-per-line/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>A line of code should not have more than one statement.&lt;/p>
@ -670,9 +641,7 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="good-code-1">Good code&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>TotalCost&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">+=&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>Cost&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>TotalAmt&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">+=&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>Amt&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qonestatementperlinecategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=one+statement+per+line+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Pattern Name</title><link>https://alguidelines.dev/docs/contributing/templates/patterns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/contributing/templates/patterns/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Pattern Name</title><link>https://alguidelines.dev/docs/contributing/templates/patterns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/contributing/templates/patterns/</guid><description>
&lt;!-- This is a guideline, some parts are optional (if there's no content, remove the whole paragraph). -->
&lt;p>&lt;em>Created by &lt;!-- John Smith -->&lt;!--, Cronus International.--> Described by &lt;!-- Jane Doe-->&lt;!--, Contoso, LLC-->&lt;/em>&lt;/p>
&lt;h2 id="abstract">Abstract&lt;/h2>
@ -696,11 +665,7 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;h2 id="when-not-to-use">When not to use&lt;/h2>
&lt;p>Usually, there are occasions where NOT to implement the pattern. List the disadvantages of this pattern here.&lt;/p>
&lt;h2 id="list-of-references">List of references&lt;/h2>
&lt;p>Youtube-link? BaseApp? Tweet? &amp;hellip;&lt;/p>
&lt;h2 id="discussions">Discussions&lt;/h2>
&lt;p>Please discuss this guideline &lt;!--[here](https://github.com/microsoft/alguidelines/discussions/42) Fix the link -->&lt;/p>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-patterns">here&lt;/a>.&lt;/p>
&lt;!-- Create a discussions-page of your pattern, and add the sentence "You can discuss this pattern [here](https://github.com/microsoft/alguidelines/discussions/42)" with the right link to that discussions-page. --></description></item><item><title>Docs: Seperate if and else</title><link>https://alguidelines.dev/docs/bestpractices/separate-if-and-else/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/separate-if-and-else/</guid><description>
&lt;p>Youtube-link? BaseApp? Tweet? &amp;hellip;&lt;/p></description></item><item><title>Docs: Seperate if and else</title><link>https://alguidelines.dev/docs/bestpractices/separate-if-and-else/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/separate-if-and-else/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>&lt;code>if&lt;/code> and &lt;code>else&lt;/code> statements should be on separate lines.&lt;/p>
@ -714,9 +679,7 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">else&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">begin&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">...
&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">end&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qseparateifandelsecategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=separate+if+and+else+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Spacing Binary Operators</title><link>https://alguidelines.dev/docs/bestpractices/spacing-binary-operators/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/spacing-binary-operators/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Spacing Binary Operators</title><link>https://alguidelines.dev/docs/bestpractices/spacing-binary-operators/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/spacing-binary-operators/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>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 a space after the comma.&lt;/p>
@ -888,10 +851,6 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;li>Any &amp;ldquo;OnDelete&amp;rdquo; subscriber slows down the &amp;ldquo;DeleteAll&amp;rdquo;, simply because it needs to perform an operation after every record that was deleted. I fact: 1 SQL call is turned into a loop of SQL calls.&lt;/li>
&lt;/ul>
&lt;p>Avoid subscribers to these events.&lt;/p>
&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussions92">&lt;a href="https://github.com/microsoft/alguidelines/discussions/92">Discussions&lt;/a>&lt;/h2>
&lt;p>You can discuss this guidelines &lt;a href="https://github.com/microsoft/alguidelines/discussions/92">here&lt;/a>.&lt;/p>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p>
&lt;h2 id="references">References&lt;/h2>
&lt;p>The &lt;a href="https://alguidelines.dev/bcpatterns/generic-method-pattern/">Generic Method Pattern&lt;/a>&lt;/p></description></item><item><title>Docs: Suggested Abbreviations</title><link>https://alguidelines.dev/docs/bestpractices/suggested-abbreviations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/suggested-abbreviations/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
@ -2287,10 +2246,7 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;td>Osynch&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qabbreviationscategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=abbreviations+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Title Here</title><link>https://alguidelines.dev/docs/contributing/templates/bestpractice/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/contributing/templates/bestpractice/</guid><description>
&lt;/table></description></item><item><title>Docs: Title Here</title><link>https://alguidelines.dev/docs/contributing/templates/bestpractice/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/contributing/templates/bestpractice/</guid><description>
&lt;!-- This is a guideline, some parts are optional (if there's no content, remove the whole paragraph). -->
&lt;!-- The "Readability" and "Performance" tags are often used. You can, however, add multiple tags, but please do not change the Category -->
&lt;p>&lt;em>Created by &lt;!-- John Smith -->&lt;!--, Cronus International.--> Described by &lt;!-- Jane Doe-->&lt;!--, Contoso, LLC-->&lt;/em>&lt;/p>
@ -2306,10 +2262,7 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">PutCodeblocksHere&lt;span style="color:#ce5c00;font-weight:bold">()
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="good-code">Good code&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">PutCodeblocksHere&lt;span style="color:#ce5c00;font-weight:bold">()
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussions">Discussions&lt;/h2>
&lt;p>Please discuss this guideline &lt;!--[here](https://github.com/microsoft/alguidelines/discussions/42) Fix the link -->&lt;/p>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;!-- Create a discussions-page of your pattern, and add the sentence "You can discuss this pattern [here](https://github.com/microsoft/alguidelines/discussions/42)" with the right link to that discussions-page. --></description></item><item><title>Docs: Unnecessary else</title><link>https://alguidelines.dev/docs/bestpractices/unnecessary-else/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/unnecessary-else/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Unnecessary else</title><link>https://alguidelines.dev/docs/bestpractices/unnecessary-else/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/unnecessary-else/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>&lt;code>else&lt;/code> should not be used when the last action in the &lt;code>then&lt;/code> part is an &lt;code>exit&lt;/code>, &lt;code>break&lt;/code>, &lt;code>skip&lt;/code>, &lt;code>quit&lt;/code>, &lt;code>error&lt;/code>.&lt;/p>
@ -2328,9 +2281,7 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>Error&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>AdjmtBinCodeChangeNotAllowedErr&lt;span style="color:#000;font-weight:bold">,&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">...)
&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold"> &lt;/span>Error&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>BinCodeChangeNotAllowedErr&lt;span style="color:#000;font-weight:bold">,&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">...)&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">end&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qunnecessaryelsecategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=unnecessary+else+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Unnecessary true/false</title><link>https://alguidelines.dev/docs/bestpractices/unnecessary-truefalse/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/unnecessary-truefalse/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Unnecessary true/false</title><link>https://alguidelines.dev/docs/bestpractices/unnecessary-truefalse/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/unnecessary-truefalse/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>Do not use &lt;code>true&lt;/code> or &lt;code>false&lt;/code> keywords unnecessarily if the expression is already an logical expression.&lt;/p>
@ -2342,9 +2293,7 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">if&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>Complete&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&amp;lt;&amp;gt;&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>true&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">then&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="good-code-1">Good code&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">if&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">not&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>Complete&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">then&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qunnecessarytruefalsecategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=unnecessary+true+false+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Variable Naming</title><link>https://alguidelines.dev/docs/bestpractices/variable-naming/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/variable-naming/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Variable Naming</title><link>https://alguidelines.dev/docs/bestpractices/variable-naming/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/variable-naming/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>Variables that refer to a AL object must contain the objects name, abbreviated where necessary.&lt;/p>
@ -2363,9 +2312,7 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&amp;#34;Amount (LCY)&amp;#34;&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">Decimal&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="good-code-2">Good code&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>AmountLCY&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">Decimal&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qonevariablenamingcategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=one+variable+naming+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Variables Declarations Order</title><link>https://alguidelines.dev/docs/bestpractices/variables-declarations-order/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/variables-declarations-order/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Variables Declarations Order</title><link>https://alguidelines.dev/docs/bestpractices/variables-declarations-order/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/variables-declarations-order/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>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:&lt;/p>
@ -2391,6 +2338,4 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="good-code">Good code&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>Vendor&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">Record&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>Vendor&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>StartingDateFilter&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">Text&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qonevariablesdeclarationsordercategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=one+variables+declarations+order+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item></channel></rss>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item></channel></rss>

View file

@ -55,7 +55,7 @@
</li>
</ul>
</div>
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder="&#xf002; Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.2b0c36478a8660f3dec37e0c539508bc.json data-offline-search-base-href=/ data-offline-search-max-results=10>
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder="&#xf002; Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.446cc05ee9bff165bd123d203082adb7.json data-offline-search-base-href=/ data-offline-search-max-results=10>
</div>
</nav>
</header>

View file

@ -55,7 +55,7 @@
</li>
</ul>
</div>
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder="&#xf002; Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.2b0c36478a8660f3dec37e0c539508bc.json data-offline-search-base-href=/ data-offline-search-max-results=10>
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder="&#xf002; Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.446cc05ee9bff165bd123d203082adb7.json data-offline-search-base-href=/ data-offline-search-max-results=10>
</div>
</nav>
</header>

View file

@ -129,9 +129,7 @@ In Business Central, all modules in the System Application are subsystems. Examp
&lt;p>This is one of the most commonly used and discussed, initially described here:&lt;/p>
&lt;p>&lt;a href="https://archive.org/details/designpatternsel00gamm/page/185">Design Patterns: Elements of Reusable Object-Oriented Software&lt;/a>. Addison Wesley. pp. 185ff. ISBN 0-201-63361-2.&lt;/p>
&lt;p>It is also a key pattern in the design of our system application modules, which is described here:&lt;/p>
&lt;p>&lt;a href="https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-blueprint">Module Architecture&lt;/a>&lt;/p>
&lt;h2 id="discussions">Discussions&lt;/h2>
&lt;p>You can discuss this pattern &lt;a href="https://github.com/microsoft/alguidelines/discussions/42">here&lt;/a>&lt;/p></description></item><item><title>Docs: Generic Method</title><link>https://alguidelines.dev/docs/patterns/generic-method-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/generic-method-pattern/</guid><description>
&lt;p>&lt;a href="https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-blueprint">Module Architecture&lt;/a>&lt;/p></description></item><item><title>Docs: Generic Method</title><link>https://alguidelines.dev/docs/patterns/generic-method-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/generic-method-pattern/</guid><description>
&lt;p>&lt;em>Created by Gary Winter (Cloud Ready Software), Described by waldo (iFacto Business Solutions | Dynex)&lt;/em>&lt;/p>
&lt;h2 id="abstract">Abstract&lt;/h2>
&lt;p>The goal of this pattern is to facilitate a lot of things in one single awesome way of writing code. If you apply this pattern as a general pattern, you&amp;rsquo;ll implement:&lt;/p>
@ -398,6 +396,4 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;p>There have been a number of occasions where people have been sharing this pattern. Here is one:&lt;/p>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe src="https://www.youtube.com/embed/CWpaD9RUa6U" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video">&lt;/iframe>
&lt;/div>
&lt;h2 id="discussions">Discussions&lt;/h2>
&lt;p>You can discuss this pattern &lt;a href="https://github.com/microsoft/alguidelines/discussions/41">here&lt;/a>&lt;/p></description></item></channel></rss>
&lt;/div></description></item></channel></rss>

View file

@ -55,7 +55,7 @@
</li>
</ul>
</div>
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder="&#xf002; Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.2b0c36478a8660f3dec37e0c539508bc.json data-offline-search-base-href=/ data-offline-search-max-results=10>
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder="&#xf002; Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.446cc05ee9bff165bd123d203082adb7.json data-offline-search-base-href=/ data-offline-search-max-results=10>
</div>
</nav>
</header>

View file

@ -75,9 +75,7 @@ When a new implementation is created, we need to make sure that these events are
&lt;p>This new codeunit, with public events, makes the events accessible from all places, including new apps that are dependent from this app, and wants to extend the&lt;/p>
&lt;p>The naming convention (both starting with &amp;ldquo;IScale&amp;rdquo;) also makes it very easy to find that corresponding events for the interface.&lt;/p>
&lt;h2 id="when-not-to-use">When not to use&lt;/h2>
&lt;p>Obviously, the events should be carefully considered: only the events that make sense to &amp;ldquo;share&amp;rdquo; over all implementations, need this approach.&lt;/p>
&lt;h2 id="discussions">Discussions&lt;/h2>
&lt;p>You can discuss this pattern &lt;a href="https://github.com/microsoft/alguidelines/discussions/66">here&lt;/a>&lt;/p></description></item><item><title>Docs: Façade</title><link>https://alguidelines.dev/docs/patterns/facade-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/facade-pattern/</guid><description>
&lt;p>Obviously, the events should be carefully considered: only the events that make sense to &amp;ldquo;share&amp;rdquo; over all implementations, need this approach.&lt;/p></description></item><item><title>Docs: Façade</title><link>https://alguidelines.dev/docs/patterns/facade-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/facade-pattern/</guid><description>
&lt;p>&lt;em>Created by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (Gang of Four), Described by Jesper Schulz-Wedde (Microsoft)&lt;/em>&lt;/p>
&lt;h2 id="abstract">Abstract&lt;/h2>
&lt;p>The intent of this pattern is to provide a unified API to a single or a collection of potentially complex subsystems. If you apply this pattern as a general pattern, you will ensure improved:&lt;/p>
@ -208,9 +206,7 @@ In Business Central, all modules in the System Application are subsystems. Examp
&lt;p>This is one of the most commonly used and discussed, initially described here:&lt;/p>
&lt;p>&lt;a href="https://archive.org/details/designpatternsel00gamm/page/185">Design Patterns: Elements of Reusable Object-Oriented Software&lt;/a>. Addison Wesley. pp. 185ff. ISBN 0-201-63361-2.&lt;/p>
&lt;p>It is also a key pattern in the design of our system application modules, which is described here:&lt;/p>
&lt;p>&lt;a href="https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-blueprint">Module Architecture&lt;/a>&lt;/p>
&lt;h2 id="discussions">Discussions&lt;/h2>
&lt;p>You can discuss this pattern &lt;a href="https://github.com/microsoft/alguidelines/discussions/42">here&lt;/a>&lt;/p></description></item><item><title>Docs: Generic Method</title><link>https://alguidelines.dev/docs/patterns/generic-method-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/generic-method-pattern/</guid><description>
&lt;p>&lt;a href="https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-blueprint">Module Architecture&lt;/a>&lt;/p></description></item><item><title>Docs: Generic Method</title><link>https://alguidelines.dev/docs/patterns/generic-method-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/generic-method-pattern/</guid><description>
&lt;p>&lt;em>Created by Gary Winter (Cloud Ready Software), Described by waldo (iFacto Business Solutions | Dynex)&lt;/em>&lt;/p>
&lt;h2 id="abstract">Abstract&lt;/h2>
&lt;p>The goal of this pattern is to facilitate a lot of things in one single awesome way of writing code. If you apply this pattern as a general pattern, you&amp;rsquo;ll implement:&lt;/p>
@ -477,6 +473,4 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;p>There have been a number of occasions where people have been sharing this pattern. Here is one:&lt;/p>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe src="https://www.youtube.com/embed/CWpaD9RUa6U" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video">&lt;/iframe>
&lt;/div>
&lt;h2 id="discussions">Discussions&lt;/h2>
&lt;p>You can discuss this pattern &lt;a href="https://github.com/microsoft/alguidelines/discussions/41">here&lt;/a>&lt;/p></description></item></channel></rss>
&lt;/div></description></item></channel></rss>

View file

@ -55,7 +55,7 @@
</li>
</ul>
</div>
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder="&#xf002; Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.2b0c36478a8660f3dec37e0c539508bc.json data-offline-search-base-href=/ data-offline-search-max-results=10>
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder="&#xf002; Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.446cc05ee9bff165bd123d203082adb7.json data-offline-search-base-href=/ data-offline-search-max-results=10>
</div>
</nav>
</header>

View file

@ -55,7 +55,7 @@
</li>
</ul>
</div>
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder="&#xf002; Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.2b0c36478a8660f3dec37e0c539508bc.json data-offline-search-base-href=/ data-offline-search-max-results=10>
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder="&#xf002; Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.446cc05ee9bff165bd123d203082adb7.json data-offline-search-base-href=/ data-offline-search-max-results=10>
</div>
</nav>
</header>

View file

@ -75,6 +75,4 @@ When a new implementation is created, we need to make sure that these events are
&lt;p>This new codeunit, with public events, makes the events accessible from all places, including new apps that are dependent from this app, and wants to extend the&lt;/p>
&lt;p>The naming convention (both starting with &amp;ldquo;IScale&amp;rdquo;) also makes it very easy to find that corresponding events for the interface.&lt;/p>
&lt;h2 id="when-not-to-use">When not to use&lt;/h2>
&lt;p>Obviously, the events should be carefully considered: only the events that make sense to &amp;ldquo;share&amp;rdquo; over all implementations, need this approach.&lt;/p>
&lt;h2 id="discussions">Discussions&lt;/h2>
&lt;p>You can discuss this pattern &lt;a href="https://github.com/microsoft/alguidelines/discussions/66">here&lt;/a>&lt;/p></description></item></channel></rss>
&lt;p>Obviously, the events should be carefully considered: only the events that make sense to &amp;ldquo;share&amp;rdquo; over all implementations, need this approach.&lt;/p></description></item></channel></rss>

View file

@ -55,7 +55,7 @@
</li>
</ul>
</div>
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder="&#xf002; Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.2b0c36478a8660f3dec37e0c539508bc.json data-offline-search-base-href=/ data-offline-search-max-results=10>
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder="&#xf002; Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.446cc05ee9bff165bd123d203082adb7.json data-offline-search-base-href=/ data-offline-search-max-results=10>
</div>
</nav>
</header>

View file

@ -10,10 +10,7 @@ Therefore it&amp;rsquo;s good practice to always check if the table is empty whe
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>EmptyTableWLD&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>SetRange&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>&lt;span style="color:#204a87;font-weight:bold">Code&lt;/span>&lt;span style="color:#000;font-weight:bold">,&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#39;AJ&amp;#39;&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">)&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">if&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">not&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>EmptyTableWLD&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>IsEmpty&lt;span style="color:#ce5c00;font-weight:bold">() &lt;/span>&lt;span style="color:#204a87;font-weight:bold">then&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>EmptyTableWLD&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>DeleteAll&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>true&lt;span style="color:#ce5c00;font-weight:bold">)&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussions">Discussions&lt;/h2>
&lt;p>You can discuss the guideline &lt;a href="https://github.com/microsoft/alguidelines/discussions/107">here&lt;/a>&lt;/p>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Subscriber Codeunits</title><link>https://alguidelines.dev/docs/bestpractices/subscribercodeunits/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/subscribercodeunits/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Subscriber Codeunits</title><link>https://alguidelines.dev/docs/bestpractices/subscribercodeunits/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/subscribercodeunits/</guid><description>
&lt;p>&lt;em>Created by waldo, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>In general, subscribers have to be put in codeunits. There are a few performance considerations that you should keep in the back of your minds, when designing such a codeunit.&lt;/p>
@ -169,9 +166,5 @@ Therefore it&amp;rsquo;s good practice to always check if the table is empty whe
&lt;li>Any &amp;ldquo;OnDelete&amp;rdquo; subscriber slows down the &amp;ldquo;DeleteAll&amp;rdquo;, simply because it needs to perform an operation after every record that was deleted. I fact: 1 SQL call is turned into a loop of SQL calls.&lt;/li>
&lt;/ul>
&lt;p>Avoid subscribers to these events.&lt;/p>
&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussions92">&lt;a href="https://github.com/microsoft/alguidelines/discussions/92">Discussions&lt;/a>&lt;/h2>
&lt;p>You can discuss this guidelines &lt;a href="https://github.com/microsoft/alguidelines/discussions/92">here&lt;/a>.&lt;/p>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p>
&lt;h2 id="references">References&lt;/h2>
&lt;p>The &lt;a href="https://alguidelines.dev/bcpatterns/generic-method-pattern/">Generic Method Pattern&lt;/a>&lt;/p></description></item></channel></rss>

View file

@ -55,7 +55,7 @@
</li>
</ul>
</div>
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder="&#xf002; Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.2b0c36478a8660f3dec37e0c539508bc.json data-offline-search-base-href=/ data-offline-search-max-results=10>
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder="&#xf002; Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.446cc05ee9bff165bd123d203082adb7.json data-offline-search-base-href=/ data-offline-search-max-results=10>
</div>
</nav>
</header>

View file

@ -1229,9 +1229,7 @@ END;
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">if&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>ICPartnerRefType&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>=&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>ICPartnerRefType&lt;span style="color:#000;font-weight:bold">::&lt;/span>&amp;#34;Common Item No.&amp;#34;&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">then&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">begin&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">...
&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">end&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qbeginasanafterwordcategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=begin+as+an+After+Word+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Begin-End - Compound Only</title><link>https://alguidelines.dev/docs/bestpractices/begin-end/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/begin-end/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Begin-End - Compound Only</title><link>https://alguidelines.dev/docs/bestpractices/begin-end/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/begin-end/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;p>Only use begin..end to enclose &lt;a href="https://docs.microsoft.com/en-us/cpp/c-language/compound-statement-c?view=msvc-170#:~:text=A%20compound%20statement%20%28also%20called%20a%20%22block%22%29%20typically,appear%20at%20the%20head%20of%20a%20compound%20statement.">compound statements&lt;/a>.&lt;/p>
&lt;h2 id="bad-code">Bad code&lt;/h2>
@ -1259,9 +1257,7 @@ END;
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#8f5902;font-style:italic">//DO SOMETHING;
&lt;/span>&lt;span style="color:#8f5902;font-style:italic">&lt;/span>&lt;span style="color:#204a87;font-weight:bold">end&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">else&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>&lt;span style="color:#204a87;font-weight:bold">not&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>X&lt;span style="color:#ce5c00;font-weight:bold">)
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qbeginendcompoundonlycategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=begin+end+compound+only+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Binary Operator to Start Line</title><link>https://alguidelines.dev/docs/bestpractices/binary-operator-line-start/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/binary-operator-line-start/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Binary Operator to Start Line</title><link>https://alguidelines.dev/docs/bestpractices/binary-operator-line-start/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/binary-operator-line-start/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>Do not start a line with a binary operator.&lt;/p>
@ -1273,9 +1269,7 @@ END;
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-AL" data-lang="AL">&amp;#34;Quantity to Ship&amp;#34;&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">:=&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">&lt;/span>Quantity&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>-&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">&lt;/span>&amp;#34;Quantity Shipped&amp;#34;&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qbinaryoperatortostartlinecategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=binary+operator+to+start+line+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: CASE Action on next line</title><link>https://alguidelines.dev/docs/bestpractices/case-actions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/case-actions/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: CASE Action on next line</title><link>https://alguidelines.dev/docs/bestpractices/case-actions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/case-actions/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>A CASE action should start on a line after the possibility.&lt;/p>
@ -1291,9 +1285,7 @@ END;
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#39;B&amp;#39;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>Letter2&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">:=&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#39;11&amp;#39;&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">end&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qcaseactiononnextlinecategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=case+action+on+next+line+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Comment Spacing</title><link>https://alguidelines.dev/docs/bestpractices/comments-spacing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/comments-spacing/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Comment Spacing</title><link>https://alguidelines.dev/docs/bestpractices/comments-spacing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/comments-spacing/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>Always start comments with // followed by one space character.&lt;/p>
@ -1301,9 +1293,7 @@ END;
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">RowNo&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">+=&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#0000cf;font-weight:bold">1000&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#8f5902;font-style:italic">//Move way below the budget
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="good-code">Good code&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">RowNo&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">+=&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#0000cf;font-weight:bold">1000&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#8f5902;font-style:italic">// Move way below the budget
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qcommentspacingcategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=comment+spacing+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: end else pair</title><link>https://alguidelines.dev/docs/bestpractices/end-else-pair/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/end-else-pair/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: end else pair</title><link>https://alguidelines.dev/docs/bestpractices/end-else-pair/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/end-else-pair/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>The &lt;code>end else&lt;/code> pair should always appear on the same line.&lt;/p>
@ -1323,9 +1313,7 @@ END;
&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">end&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">else&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">begin&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">...
&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">end&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qendelsepaircategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=end+else/pair+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Façade</title><link>https://alguidelines.dev/docs/patterns/facade-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/facade-pattern/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Façade</title><link>https://alguidelines.dev/docs/patterns/facade-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/facade-pattern/</guid><description>
&lt;p>&lt;em>Created by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (Gang of Four), Described by Jesper Schulz-Wedde (Microsoft)&lt;/em>&lt;/p>
&lt;h2 id="abstract">Abstract&lt;/h2>
&lt;p>The intent of this pattern is to provide a unified API to a single or a collection of potentially complex subsystems. If you apply this pattern as a general pattern, you will ensure improved:&lt;/p>
@ -1456,9 +1444,7 @@ In Business Central, all modules in the System Application are subsystems. Examp
&lt;p>This is one of the most commonly used and discussed, initially described here:&lt;/p>
&lt;p>&lt;a href="https://archive.org/details/designpatternsel00gamm/page/185">Design Patterns: Elements of Reusable Object-Oriented Software&lt;/a>. Addison Wesley. pp. 185ff. ISBN 0-201-63361-2.&lt;/p>
&lt;p>It is also a key pattern in the design of our system application modules, which is described here:&lt;/p>
&lt;p>&lt;a href="https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-blueprint">Module Architecture&lt;/a>&lt;/p>
&lt;h2 id="discussions">Discussions&lt;/h2>
&lt;p>You can discuss this pattern &lt;a href="https://github.com/microsoft/alguidelines/discussions/42">here&lt;/a>&lt;/p></description></item><item><title>Docs: Generic Method</title><link>https://alguidelines.dev/docs/patterns/generic-method-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/generic-method-pattern/</guid><description>
&lt;p>&lt;a href="https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-blueprint">Module Architecture&lt;/a>&lt;/p></description></item><item><title>Docs: Generic Method</title><link>https://alguidelines.dev/docs/patterns/generic-method-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/generic-method-pattern/</guid><description>
&lt;p>&lt;em>Created by Gary Winter (Cloud Ready Software), Described by waldo (iFacto Business Solutions | Dynex)&lt;/em>&lt;/p>
&lt;h2 id="abstract">Abstract&lt;/h2>
&lt;p>The goal of this pattern is to facilitate a lot of things in one single awesome way of writing code. If you apply this pattern as a general pattern, you&amp;rsquo;ll implement:&lt;/p>
@ -1725,9 +1711,7 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;p>There have been a number of occasions where people have been sharing this pattern. Here is one:&lt;/p>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe src="https://www.youtube.com/embed/CWpaD9RUa6U" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video">&lt;/iframe>
&lt;/div>
&lt;h2 id="discussions">Discussions&lt;/h2>
&lt;p>You can discuss this pattern &lt;a href="https://github.com/microsoft/alguidelines/discussions/41">here&lt;/a>&lt;/p></description></item><item><title>Docs: Keyword Pairs - Indentation</title><link>https://alguidelines.dev/docs/bestpractices/keyword-pairs-indentation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/keyword-pairs-indentation/</guid><description>
&lt;/div></description></item><item><title>Docs: Keyword Pairs - Indentation</title><link>https://alguidelines.dev/docs/bestpractices/keyword-pairs-indentation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/keyword-pairs-indentation/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>The &lt;code>if..then&lt;/code> pair, &lt;code>while..do&lt;/code> pair, and &lt;code>for..do&lt;/code> pair must appear on the same line or the same level of indentation. If possible, you can align the lines it is even much more readable.&lt;/p>
@ -1738,9 +1722,7 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">if&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>x&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>=&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>y&lt;span style="color:#ce5c00;font-weight:bold">) &lt;/span>&lt;span style="color:#204a87;font-weight:bold">and&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>a&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>=&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>b&lt;span style="color:#ce5c00;font-weight:bold">)
&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">then&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qkeywordpairindentationcategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=keyword+pair+indentation+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Line Start Keywords</title><link>https://alguidelines.dev/docs/bestpractices/line-start-keywords/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/line-start-keywords/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Line Start Keywords</title><link>https://alguidelines.dev/docs/bestpractices/line-start-keywords/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/line-start-keywords/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>The &lt;code>end&lt;/code>, &lt;code>if&lt;/code>, &lt;code>repeat&lt;/code>, &lt;code>for&lt;/code>, &lt;code>while&lt;/code>, &lt;code>else&lt;/code> and &lt;code>case&lt;/code> statement should always start a line.&lt;/p>
@ -1757,9 +1739,7 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">else&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">if&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>IsSalesCycleCode&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">then&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>ValidatSalesCycleCode&lt;span style="color:#ce5c00;font-weight:bold">()&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qlinestartkeywordcategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=line+start+keyword+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Lonely Repeat</title><link>https://alguidelines.dev/docs/bestpractices/lonely-repeat/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/lonely-repeat/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Lonely Repeat</title><link>https://alguidelines.dev/docs/bestpractices/lonely-repeat/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/lonely-repeat/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>The &lt;code>repeat&lt;/code> statement should always be alone on a line.&lt;/p>
@ -1768,9 +1748,7 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="good-code">Good code&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">if&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>ReservEntry&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>FindSet&lt;span style="color:#ce5c00;font-weight:bold">() &lt;/span>&lt;span style="color:#204a87;font-weight:bold">then&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">repeat&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qlonelyrepeatcategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=lonely+repeat+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Named Invocations</title><link>https://alguidelines.dev/docs/bestpractices/named-invocations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/named-invocations/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Named Invocations</title><link>https://alguidelines.dev/docs/bestpractices/named-invocations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/named-invocations/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>When calling an object statically use the Object Name, not the Object Id.&lt;/p>
@ -1778,9 +1756,7 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">Page&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>RunModal&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>&lt;span style="color:#0000cf;font-weight:bold">525&lt;/span>&lt;span style="color:#000;font-weight:bold">,&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>SalesShptLine&lt;span style="color:#ce5c00;font-weight:bold">)&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="good-code">Good code&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">Page&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>RunModal&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>&lt;span style="color:#204a87;font-weight:bold">Page&lt;/span>&lt;span style="color:#000;font-weight:bold">::&lt;/span>&amp;#34;Posted Sales Shipment Lines&amp;#34;&lt;span style="color:#000;font-weight:bold">,&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>SalesShptLine&lt;span style="color:#ce5c00;font-weight:bold">)&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qnamedinvocationscategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=named+invocations+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: One Statement per Line</title><link>https://alguidelines.dev/docs/bestpractices/one-statement-per-line/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/one-statement-per-line/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: One Statement per Line</title><link>https://alguidelines.dev/docs/bestpractices/one-statement-per-line/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/one-statement-per-line/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>A line of code should not have more than one statement.&lt;/p>
@ -1794,9 +1770,7 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="good-code-1">Good code&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4">&lt;code class="language-al" data-lang="al">&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>TotalCost&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">+=&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>Cost&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>TotalAmt&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">+=&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>Amt&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qonestatementperlinecategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=one+statement+per+line+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Seperate if and else</title><link>https://alguidelines.dev/docs/bestpractices/separate-if-and-else/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/separate-if-and-else/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Seperate if and else</title><link>https://alguidelines.dev/docs/bestpractices/separate-if-and-else/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/separate-if-and-else/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>&lt;code>if&lt;/code> and &lt;code>else&lt;/code> statements should be on separate lines.&lt;/p>
@ -1810,9 +1784,7 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">else&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">begin&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">...
&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">end&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qseparateifandelsecategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=separate+if+and+else+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Spacing Binary Operators</title><link>https://alguidelines.dev/docs/bestpractices/spacing-binary-operators/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/spacing-binary-operators/</guid><description>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Spacing Binary Operators</title><link>https://alguidelines.dev/docs/bestpractices/spacing-binary-operators/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/spacing-binary-operators/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>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 a space after the comma.&lt;/p>
@ -3222,10 +3194,7 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;td>Osynch&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qabbreviationscategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=abbreviations+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item><item><title>Docs: Unnecessary else</title><link>https://alguidelines.dev/docs/bestpractices/unnecessary-else/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/unnecessary-else/</guid><description>
&lt;/table></description></item><item><title>Docs: Unnecessary else</title><link>https://alguidelines.dev/docs/bestpractices/unnecessary-else/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/bestpractices/unnecessary-else/</guid><description>
&lt;p>&lt;em>Created by Microsoft, Described by waldo&lt;/em>&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>&lt;code>else&lt;/code> should not be used when the last action in the &lt;code>then&lt;/code> part is an &lt;code>exit&lt;/code>, &lt;code>break&lt;/code>, &lt;code>skip&lt;/code>, &lt;code>quit&lt;/code>, &lt;code>error&lt;/code>.&lt;/p>
@ -3244,6 +3213,4 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>Error&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>AdjmtBinCodeChangeNotAllowedErr&lt;span style="color:#000;font-weight:bold">,&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">...)
&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold"> &lt;/span>Error&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>BinCodeChangeNotAllowedErr&lt;span style="color:#000;font-weight:bold">,&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">...)&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">end&lt;/span>&lt;span style="color:#000;font-weight:bold">;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussionshttpsgithubcommicrosoftalguidelinesdiscussionscategoriesbc-best-practicesdiscussions_qunnecessaryelsecategory3a22bcbestpractices22">&lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices?discussions_q=unnecessary+else+category%3A%22BC+Best+Practices%22">Discussions&lt;/a>&lt;/h2>
&lt;p>You can find discussions on all &amp;ldquo;Best Practices&amp;rdquo; &lt;a href="https://github.com/microsoft/alguidelines/discussions/categories/bc-best-practices">here&lt;/a>.&lt;/p>
&lt;p>If you don&amp;rsquo;t find the discussion of this guideline, please feel free to create a new one with the same title as this article.&lt;/p></description></item></channel></rss>
&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item></channel></rss>

View file

@ -55,7 +55,7 @@
</li>
</ul>
</div>
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder="&#xf002; Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.2b0c36478a8660f3dec37e0c539508bc.json data-offline-search-base-href=/ data-offline-search-max-results=10>
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder="&#xf002; Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.446cc05ee9bff165bd123d203082adb7.json data-offline-search-base-href=/ data-offline-search-max-results=10>
</div>
</nav>
</header>

View file

@ -129,9 +129,7 @@ In Business Central, all modules in the System Application are subsystems. Examp
&lt;p>This is one of the most commonly used and discussed, initially described here:&lt;/p>
&lt;p>&lt;a href="https://archive.org/details/designpatternsel00gamm/page/185">Design Patterns: Elements of Reusable Object-Oriented Software&lt;/a>. Addison Wesley. pp. 185ff. ISBN 0-201-63361-2.&lt;/p>
&lt;p>It is also a key pattern in the design of our system application modules, which is described here:&lt;/p>
&lt;p>&lt;a href="https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-blueprint">Module Architecture&lt;/a>&lt;/p>
&lt;h2 id="discussions">Discussions&lt;/h2>
&lt;p>You can discuss this pattern &lt;a href="https://github.com/microsoft/alguidelines/discussions/42">here&lt;/a>&lt;/p></description></item><item><title>Docs: Generic Method</title><link>https://alguidelines.dev/docs/patterns/generic-method-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/generic-method-pattern/</guid><description>
&lt;p>&lt;a href="https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-blueprint">Module Architecture&lt;/a>&lt;/p></description></item><item><title>Docs: Generic Method</title><link>https://alguidelines.dev/docs/patterns/generic-method-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/generic-method-pattern/</guid><description>
&lt;p>&lt;em>Created by Gary Winter (Cloud Ready Software), Described by waldo (iFacto Business Solutions | Dynex)&lt;/em>&lt;/p>
&lt;h2 id="abstract">Abstract&lt;/h2>
&lt;p>The goal of this pattern is to facilitate a lot of things in one single awesome way of writing code. If you apply this pattern as a general pattern, you&amp;rsquo;ll implement:&lt;/p>
@ -398,6 +396,4 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
&lt;p>There have been a number of occasions where people have been sharing this pattern. Here is one:&lt;/p>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe src="https://www.youtube.com/embed/CWpaD9RUa6U" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video">&lt;/iframe>
&lt;/div>
&lt;h2 id="discussions">Discussions&lt;/h2>
&lt;p>You can discuss this pattern &lt;a href="https://github.com/microsoft/alguidelines/discussions/41">here&lt;/a>&lt;/p></description></item></channel></rss>
&lt;/div></description></item></channel></rss>