1212 lines
No EOL
197 KiB
XML
1212 lines
No EOL
197 KiB
XML
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>alguidelines.dev - Business Central Design Patterns – Readability</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/</link><description>Recent content in Readability on alguidelines.dev - Business Central Design Patterns</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/index.xml" rel="self" type="application/rss+xml"/><item><title>Docs: Begin as an 'After Word'</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/begin-as-an-afterword/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/begin-as-an-afterword/</guid><description>
|
||
<p>When BEGIN follows THEN, ELSE, DO, it should be on the same line, preceded by one space character.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>ICPartnerRefType<span style="color:#f8f8f8;text-decoration:underline"> </span>=<span style="color:#f8f8f8;text-decoration:underline"> </span>ICPartnerRefType<span style="color:#000;font-weight:bold">::</span>&#34;Common Item No.&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span><span style="color:#204a87;font-weight:bold">END</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<pre tabindex="0"><code>IF ICPartnerRefType = ICPartnerRefType::&#34;Common Item No.&#34; THEN BEGIN
|
||
...
|
||
END;
|
||
</code></pre></description></item><item><title>Docs: Begin-End - Compound Only</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/begin-end/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/begin-end/</guid><description>
|
||
<p>Only use BEGIN..END to enclose compound statements.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>FINDSET<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">REPEAT</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"> </span><span style="color:#204a87;font-weight:bold">UNTIL</span><span style="color:#f8f8f8;text-decoration:underline"> </span>NEXT<span style="color:#f8f8f8;text-decoration:underline"> </span>=<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">END</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>FINDSET<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">REPEAT</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"> </span><span style="color:#204a87;font-weight:bold">UNTIL</span><span style="color:#f8f8f8;text-decoration:underline"> </span>NEXT<span style="color:#f8f8f8;text-decoration:underline"> </span>=<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>IsAssemblyOutputLine<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TESTFIELD</span><span style="color:#ce5c00;font-weight:bold">(</span>&#34;Order Line No.&#34;<span style="color:#000;font-weight:bold">,</span><span style="color:#0000cf;font-weight:bold">0</span><span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">END</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>IsAssemblyOutputLine<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TESTFIELD</span><span style="color:#ce5c00;font-weight:bold">(</span>&#34;Order Line No.&#34;<span style="color:#000;font-weight:bold">,</span><span style="color:#0000cf;font-weight:bold">0</span><span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>FINDSET<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">REPEAT</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"> </span><span style="color:#204a87;font-weight:bold">END</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">UNTIL</span><span style="color:#f8f8f8;text-decoration:underline"> </span>NEXT<span style="color:#f8f8f8;text-decoration:underline"> </span>=<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>FINDSET<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">REPEAT</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"> </span><span style="color:#204a87;font-weight:bold">UNTIL</span><span style="color:#f8f8f8;text-decoration:underline"> </span>NEXT<span style="color:#f8f8f8;text-decoration:underline"> </span>=<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Exception</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic">// Except for this case
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"></span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>X<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Y<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">DO</span><span style="color:#f8f8f8;text-decoration:underline"> </span>SOMETHING<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">END</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">ELSE</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">(</span><span style="color:#204a87;font-weight:bold">not</span><span style="color:#f8f8f8;text-decoration:underline"> </span>X<span style="color:#ce5c00;font-weight:bold">)
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Binary Operator to Start Line</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/binary-operator-line-start/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/binary-operator-line-start/</guid><description>
|
||
<p>Do not start a line with a binary operator.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>&#34;Quantity to Ship&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>Quantity<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>&#34;Quantity Shipped&#34;<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>&#34;Quantity to Ship&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>Quantity<span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>&#34;Quantity Shipped&#34;<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Blank Lines</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/blank-lines/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/blank-lines/</guid><description>
|
||
<p>Do not use blank lines at the beginning or end of any functions, after BEGIN, before END, or inside multiline expressions.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">PROCEDURE</span><span style="color:#f8f8f8;text-decoration:underline"> </span>MATRIX_OnDrillDown@<span style="color:#0000cf;font-weight:bold">1133</span><span style="color:#ce5c00;font-weight:bold">(</span>MATRIX_ColumnOrdinal<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Integer</span><span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>SetupDrillDownCol<span style="color:#ce5c00;font-weight:bold">(</span>MATRIX_ColumnOrdinal<span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>DrillDown<span style="color:#ce5c00;font-weight:bold">(</span>FALSE<span style="color:#000;font-weight:bold">,</span>ValueType<span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">END</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">PROCEDURE</span><span style="color:#f8f8f8;text-decoration:underline"> </span>MATRIX_OnDrillDown@<span style="color:#0000cf;font-weight:bold">1133</span><span style="color:#ce5c00;font-weight:bold">(</span>MATRIX_ColumnOrdinal<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Integer</span><span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>SetupDrillDownCol<span style="color:#ce5c00;font-weight:bold">(</span>MATRIX_ColumnOrdinal<span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>DrillDown<span style="color:#ce5c00;font-weight:bold">(</span>FALSE<span style="color:#000;font-weight:bold">,</span>ValueType<span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">END</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>NameIsValid<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">AND</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>Name2IsValid<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>NameIsValid<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">AND</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>Name2IsValid<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: CASE Action</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/case-actions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/case-actions/</guid><description>
|
||
<p>A CASE action should start on a line after the possibility.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">CASE</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Letter<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">OF</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;A&#39;</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Letter2<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;10&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;B&#39;</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Letter2<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;11&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">CASE</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Letter<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">OF</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;A&#39;</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>Letter2<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;10&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;B&#39;</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>Letter2<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;11&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Colon usage in CASE</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/colon-usage-in-case/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/colon-usage-in-case/</guid><description>
|
||
<p>The last possibility on a CASE statement must be immediately followed by a colon.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">CASE</span><span style="color:#f8f8f8;text-decoration:underline"> </span>DimOption<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">OF</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>DimOption<span style="color:#000;font-weight:bold">::</span>&#34;Global Dimension 1&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>DimValue<span style="color:#ce5c00;font-weight:bold">.</span>&#34;Dimension Code&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>GLSetup<span style="color:#ce5c00;font-weight:bold">.</span>&#34;Global Dimension 1 Code&#34;<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">CASE</span><span style="color:#f8f8f8;text-decoration:underline"> </span>DimOption<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">OF</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>DimOption<span style="color:#000;font-weight:bold">::</span>&#34;Global Dimension 1&#34;<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>DimValue<span style="color:#ce5c00;font-weight:bold">.</span>&#34;Dimension Code&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>GLSetup<span style="color:#ce5c00;font-weight:bold">.</span>&#34;Global Dimension 1 Code&#34;<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Comments inside Curly Brackets</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/comments-curly-brackets/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/comments-curly-brackets/</guid><description>
|
||
<p>Never use curly bracket comments. During development, the &ldquo;Block comment&rdquo; functionality can be used instead. However, in production code, block comments are not recommended.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>PeriodTxt<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span>{Period}<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>PeriodTxt<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">// Period
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">PROCEDURE</span><span style="color:#f8f8f8;text-decoration:underline"> </span>MATRIX_OnAfterGetRecord@<span style="color:#0000cf;font-weight:bold">10</span><span style="color:#ce5c00;font-weight:bold">(</span>MATRIX_ColumnOrdinal<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Integer</span><span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>{<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>ShowColumnName<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>MatrixHeader<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>MatrixRecords[MATRIX_ColumnOrdinal]<span style="color:#ce5c00;font-weight:bold">.</span>Name<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">ELSE</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>MatrixHeader<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>MatrixRecords[MATRIX_ColumnOrdinal]<span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#204a87;font-weight:bold">Code</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>}<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>MatrixRecord<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>MatrixRecords[MATRIX_ColumnOrdinal]<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>AnalysisValue<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>CalcAmt<span style="color:#ce5c00;font-weight:bold">(</span>ValueType<span style="color:#000;font-weight:bold">,</span>TRUE<span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>MATRIX_CellData[MATRIX_ColumnOrdinal]<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>AnalysisValue<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">END</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">PROCEDURE</span><span style="color:#f8f8f8;text-decoration:underline"> </span>MATRIX_OnAfterGetRecord@<span style="color:#0000cf;font-weight:bold">10</span><span style="color:#ce5c00;font-weight:bold">(</span>MATRIX_ColumnOrdinal<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Integer</span><span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>MatrixRecord<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>MatrixRecords[MATRIX_ColumnOrdinal]<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>AnalysisValue<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>CalcAmt<span style="color:#ce5c00;font-weight:bold">(</span>ValueType<span style="color:#000;font-weight:bold">,</span>TRUE<span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>MATRIX_CellData[MATRIX_ColumnOrdinal]<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>AnalysisValue<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">END</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Comment Spacing</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/comments-spacing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/comments-spacing/</guid><description>
|
||
<p>Always start comments with // followed by one space character.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>RowNo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">+=</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1000</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">//Move way below the budget
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>RowNo<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">+=</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1000</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">// Move way below the budget
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: END ELSE Pair</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/end-else-pair/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/end-else-pair/</guid><description>
|
||
<p>The END ELSE pair should always appear on the same line.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>OppEntry<span style="color:#ce5c00;font-weight:bold">.</span>FIND<span style="color:#ce5c00;font-weight:bold">(</span><span style="color:#4e9a06">&#39;-&#39;</span><span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>SalesCycleStage<span style="color:#ce5c00;font-weight:bold">.</span>FIND<span style="color:#ce5c00;font-weight:bold">(</span><span style="color:#4e9a06">&#39;-&#39;</span><span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"> </span><span style="color:#204a87;font-weight:bold">END</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">ELSE</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>OppEntry<span style="color:#ce5c00;font-weight:bold">.</span>FIND<span style="color:#ce5c00;font-weight:bold">(</span><span style="color:#4e9a06">&#39;-&#39;</span><span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>SalesCycleStage<span style="color:#ce5c00;font-weight:bold">.</span>FIND<span style="color:#ce5c00;font-weight:bold">(</span><span style="color:#4e9a06">&#39;-&#39;</span><span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span><span style="color:#204a87;font-weight:bold">END</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">ELSE</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Indentation</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/indentation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/indentation/</guid><description>
|
||
<p>In general, use an indentation of two space characters. Logical expressions in the IF, WHILE, and UNTIL parts are indented at least 3, 6, and 6 spaces respectively.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>GLSetup<span style="color:#ce5c00;font-weight:bold">.</span>&#34;Unrealized VAT&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">OR</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">(</span>GLSetup<span style="color:#ce5c00;font-weight:bold">.</span>&#34;Prepayment Unrealized VAT&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">AND</span><span style="color:#f8f8f8;text-decoration:underline"> </span>NewCVLedgEntryBuf<span style="color:#ce5c00;font-weight:bold">.</span>Prepayment<span style="color:#ce5c00;font-weight:bold">)
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>GLSetup<span style="color:#ce5c00;font-weight:bold">.</span>&#34;Unrealized VAT&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">OR</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">(</span>GLSetup<span style="color:#ce5c00;font-weight:bold">.</span>&#34;Prepayment Unrealized VAT&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">AND</span><span style="color:#f8f8f8;text-decoration:underline"> </span>NewCVLedgEntryBuf<span style="color:#ce5c00;font-weight:bold">.</span>Prepayment<span style="color:#ce5c00;font-weight:bold">)
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>GenJnlLine<span style="color:#ce5c00;font-weight:bold">.</span>&#34;Account No.&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span>&lt;&gt;<span style="color:#f8f8f8;text-decoration:underline"> </span>ICPartner<span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#204a87;font-weight:bold">Code</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>ICPartner<span style="color:#ce5c00;font-weight:bold">.</span>GET<span style="color:#ce5c00;font-weight:bold">(</span>&#34;Account No.&#34;<span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>GenJnlLine<span style="color:#ce5c00;font-weight:bold">.</span>Amount<span style="color:#f8f8f8;text-decoration:underline"> </span>\&gt;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>GenJnlLine<span style="color:#ce5c00;font-weight:bold">.</span>&#34;Account No.&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span>&lt;&gt;<span style="color:#f8f8f8;text-decoration:underline"> </span>ICPartner<span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#204a87;font-weight:bold">Code</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>ICPartner<span style="color:#ce5c00;font-weight:bold">.</span>GET<span style="color:#ce5c00;font-weight:bold">(</span>&#34;Account No.&#34;<span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>GenJnlLine<span style="color:#ce5c00;font-weight:bold">.</span>Amount<span style="color:#f8f8f8;text-decoration:underline"> </span>&gt;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">Dialog</span><span style="color:#ce5c00;font-weight:bold">.</span>OPEN<span style="color:#ce5c00;font-weight:bold">(</span>WindowTxt<span style="color:#f8f8f8;text-decoration:underline"> </span>+<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;@1@@@@@@@@@@@@@@@@@@@@@@@&#39;</span><span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">Dialog</span><span style="color:#ce5c00;font-weight:bold">.</span>OPEN<span style="color:#ce5c00;font-weight:bold">(
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"> </span>WindowTxt<span style="color:#f8f8f8;text-decoration:underline"> </span>+<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;@1@@@@@@@@@@@@@@@@@@@@@@@&#39;</span><span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>TempOldCustLedgEntry<span style="color:#ce5c00;font-weight:bold">.</span>DELETE<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">// Find the next old entry for application of the new entry
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>TempOldCustLedgEntry<span style="color:#ce5c00;font-weight:bold">.</span>DELETE<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#8f5902;font-style:italic">// Find the next old entry for application of the new entry
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">NOT</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">(</span>&#34;Applies-to Doc. Type&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">IN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>[&#34;Applies-to Doc. Type&#34;<span style="color:#000;font-weight:bold">::</span>Receipt<span style="color:#000;font-weight:bold">,</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>&#34;Applies-to Doc. Type&#34;<span style="color:#000;font-weight:bold">::</span>&#34;Return Shipment&#34;]<span style="color:#ce5c00;font-weight:bold">)
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">NOT</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">(</span>&#34;Applies-to Doc. Type&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">IN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>[&#34;Applies-to Doc. Type&#34;<span style="color:#000;font-weight:bold">::</span>Receipt<span style="color:#000;font-weight:bold">,</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>&#34;Applies-to Doc. Type&#34;<span style="color:#000;font-weight:bold">::</span>&#34;Return Shipment&#34;]<span style="color:#ce5c00;font-weight:bold">)
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">WHILE</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">(</span>RemAmt<span style="color:#f8f8f8;text-decoration:underline"> </span>&gt;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0</span><span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">OR</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">(</span>RemAmtLCY<span style="color:#f8f8f8;text-decoration:underline"> </span>&gt;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0</span><span style="color:#ce5c00;font-weight:bold">)
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span><span style="color:#204a87;font-weight:bold">DO</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">WHILE</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">(</span>RemAmt<span style="color:#f8f8f8;text-decoration:underline"> </span>&gt;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0</span><span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">OR</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">(</span>RemAmtLCY<span style="color:#f8f8f8;text-decoration:underline"> </span>&gt;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0</span><span style="color:#ce5c00;font-weight:bold">)
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span><span style="color:#204a87;font-weight:bold">DO</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">UNTIL</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">(</span>RemAmt<span style="color:#f8f8f8;text-decoration:underline"> </span>&gt;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0</span><span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">AND</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">(</span>RemAmtLCY<span style="color:#f8f8f8;text-decoration:underline"> </span>&gt;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0</span><span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">UNTIL</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">(</span>RemAmt<span style="color:#f8f8f8;text-decoration:underline"> </span>&gt;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0</span><span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">AND</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">(</span>RemAmtLCY<span style="color:#f8f8f8;text-decoration:underline"> </span>&gt;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0</span><span style="color:#ce5c00;font-weight:bold">)
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Keyword Pairs - Indentation</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/keyword-pairs-indentation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/keyword-pairs-indentation/</guid><description>
|
||
<p>The IF..THEN pair, WHILE..DO pair, and FOR..DO pair must appear on the same line or the same level of indentation.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">(</span>x<span style="color:#f8f8f8;text-decoration:underline"> </span>=<span style="color:#f8f8f8;text-decoration:underline"> </span>y<span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">AND</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">(</span>a<span style="color:#f8f8f8;text-decoration:underline"> </span>=<span style="color:#f8f8f8;text-decoration:underline"> </span>b<span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">(</span>x<span style="color:#f8f8f8;text-decoration:underline"> </span>=<span style="color:#f8f8f8;text-decoration:underline"> </span>y<span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">AND</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">(</span>a<span style="color:#f8f8f8;text-decoration:underline"> </span>=<span style="color:#f8f8f8;text-decoration:underline"> </span>b<span style="color:#ce5c00;font-weight:bold">)
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Line Start Keywords</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/line-start-keywords/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/line-start-keywords/</guid><description>
|
||
<p>The END, IF, REPEAT, FOR, WHILE, ELSE and CASE statement should always start a line.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>IsContactName<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline"> </span>ValidateContactName<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">ELSE</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>IsSalespersonCode<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline"> </span>ValidateSalespersonCode<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">ELSE</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>IsSalesCycleCode<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline"> </span>ValidatSalesCycleCode<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>IsContactName<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>ValidateContactName<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">ELSE</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>IsSalespersonCode<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>ValidateSalespersonCode<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">ELSE</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>IsSalesCycleCode<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>ValidatSalesCycleCode<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Lonely Repeat</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/lonely-repeat/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/lonely-repeat/</guid><description>
|
||
<p>The REPEAT statement should always be alone on a line.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>ReservEntry<span style="color:#ce5c00;font-weight:bold">.</span>FINDSET<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">REPEAT</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>ReservEntry<span style="color:#ce5c00;font-weight:bold">.</span>FINDSET<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">REPEAT</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Named Invocations</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/named-invocations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/named-invocations/</guid><description>
|
||
<p>When calling an object statically use the name, not the number</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">PAGE</span><span style="color:#ce5c00;font-weight:bold">.</span>RUNMODAL<span style="color:#ce5c00;font-weight:bold">(</span><span style="color:#0000cf;font-weight:bold">525</span><span style="color:#000;font-weight:bold">,</span>SalesShptLine<span style="color:#ce5c00;font-weight:bold">)
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">PAGE</span><span style="color:#ce5c00;font-weight:bold">.</span>RUNMODAL<span style="color:#ce5c00;font-weight:bold">(</span><span style="color:#204a87;font-weight:bold">PAGE</span><span style="color:#000;font-weight:bold">::</span>&#34;Posted Sales Shipment Lines&#34;<span style="color:#000;font-weight:bold">,</span>SalesShptLine<span style="color:#ce5c00;font-weight:bold">)
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Nested WITHs</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/nested-withs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/nested-withs/</guid><description>
|
||
<p>Do not nest WITHs that reference different types of objects.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">WITH</span><span style="color:#f8f8f8;text-decoration:underline"> </span>PostedWhseShptLine<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">DO</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"> </span><span style="color:#204a87;font-weight:bold">WITH</span><span style="color:#f8f8f8;text-decoration:underline"> </span>ItemLedgEntry<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">DO</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>InsertBufferRec<span style="color:#ce5c00;font-weight:bold">(...</span><span style="color:#000;font-weight:bold">,</span>&#34;Serial No.&#34;<span style="color:#000;font-weight:bold">,</span>&#34;Lot No.&#34;<span style="color:#000;font-weight:bold">,</span><span style="color:#ce5c00;font-weight:bold">...)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span><span style="color:#204a87;font-weight:bold">END</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">WITH</span><span style="color:#f8f8f8;text-decoration:underline"> </span>PostedWhseShptLine<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">DO</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"> </span>InsertBufferRec<span style="color:#ce5c00;font-weight:bold">(...</span><span style="color:#000;font-weight:bold">,</span>ItemLedgEntry<span style="color:#ce5c00;font-weight:bold">.</span>&#34;Serial No.&#34;<span style="color:#000;font-weight:bold">,</span>ItemLedgEntry<span style="color:#ce5c00;font-weight:bold">.</span>&#34;Lot No.&#34;<span style="color:#000;font-weight:bold">,</span><span style="color:#ce5c00;font-weight:bold">...)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span><span style="color:#204a87;font-weight:bold">END</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: One Statement Per Line</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/one-statement-per-line/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/one-statement-per-line/</guid><description>
|
||
<p>A line of code should not have more than one statement.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>OppEntry<span style="color:#ce5c00;font-weight:bold">.</span>FIND<span style="color:#ce5c00;font-weight:bold">(</span><span style="color:#4e9a06">&#39;-&#39;</span><span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">EXIT</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>OppEntry<span style="color:#ce5c00;font-weight:bold">.</span>FIND<span style="color:#ce5c00;font-weight:bold">(</span><span style="color:#4e9a06">&#39;-&#39;</span><span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">EXIT</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>TotalCost<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">+=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Cost<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>TotalAmt<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">+=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Amt<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>TotalCost<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">+=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Cost<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span>TotalAmt<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">+=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Amt<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Separate IF and ELSE</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/separate-if-and-else/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/separate-if-and-else/</guid><description>
|
||
<p>IF and ELSE statements should be on separate lines.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Atom[i<span style="color:#ce5c00;font-weight:bold">+</span><span style="color:#0000cf;font-weight:bold">1</span>]<span style="color:#f8f8f8;text-decoration:underline"> </span>=<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;&gt;&#39;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline"> </span>HasLogicalOperator<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>TRUE<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">ELSE</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span><span style="color:#204a87;font-weight:bold">END</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Atom[i<span style="color:#ce5c00;font-weight:bold">+</span><span style="color:#0000cf;font-weight:bold">1</span>]<span style="color:#f8f8f8;text-decoration:underline"> </span>=<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;&gt;&#39;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>HasLogicalOperator<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>TRUE<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">ELSE</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span><span style="color:#204a87;font-weight:bold">END</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Spacing Binary Operators</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/spacing-binary-operators/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/spacing-binary-operators/</guid><description>
|
||
<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 no spaces.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>&#34;Line Discount %&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>&#34;Line Discount Amount&#34;/&#34;Line Value&#34;*<span style="color:#0000cf;font-weight:bold">100</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>&#34;Line Discount %&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>&#34;Line Discount Amount&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span>/<span style="color:#f8f8f8;text-decoration:underline"> </span>&#34;Line Value&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span>*<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">100</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>StartDate<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>CALCDATE<span style="color:#ce5c00;font-weight:bold">(</span><span style="color:#4e9a06">&#39;&lt;+&#39;</span>+FORMAT<span style="color:#ce5c00;font-weight:bold">(</span>Days<span style="color:#f8f8f8;text-decoration:underline"> </span>+<span style="color:#f8f8f8;text-decoration:underline"> </span>i<span style="color:#ce5c00;font-weight:bold">)</span>+<span style="color:#4e9a06">&#39;D&gt;&#39;</span><span style="color:#000;font-weight:bold">,</span><span style="color:#f8f8f8;text-decoration:underline"> </span>StartDate<span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>StartDate<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>CALCDATE<span style="color:#ce5c00;font-weight:bold">(</span><span style="color:#4e9a06">&#39;&lt;+&#39;</span><span style="color:#f8f8f8;text-decoration:underline"> </span>+<span style="color:#f8f8f8;text-decoration:underline"> </span>FORMAT<span style="color:#ce5c00;font-weight:bold">(</span>Days<span style="color:#f8f8f8;text-decoration:underline"> </span>+<span style="color:#f8f8f8;text-decoration:underline"> </span>i<span style="color:#ce5c00;font-weight:bold">) </span>+<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;D&gt;&#39;</span><span style="color:#000;font-weight:bold">,</span>StartDate<span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>StartDate<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>0D<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">// Initialize
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>StartDate<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>0D<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">// Initialize
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Spacing Brackets and ::</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/spacing-brackets-and/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/spacing-brackets-and/</guid><description>
|
||
<p>There must be no spaces characters before and after [] dimension brackets symbols or :: option symbols.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>A[i]<span style="color:#f8f8f8;text-decoration:underline"> </span>[j]<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Amt<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>A[i][j]<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Amt<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>&#34;Currency Exchange Rate&#34;<span style="color:#ce5c00;font-weight:bold">.</span>&#34;Fix Exchange Rate Amount&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">::</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Currency<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>&#34;Currency Exchange Rate&#34;<span style="color:#ce5c00;font-weight:bold">.</span>&#34;Fix Exchange Rate Amount&#34;<span style="color:#000;font-weight:bold">::</span>Currency<span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>FIND<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">(</span>Which<span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>FIND<span style="color:#ce5c00;font-weight:bold">(</span>Which<span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Spacing Unary Operators</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/spacing-unary-operators/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/spacing-unary-operators/</guid><description>
|
||
<p>There must be no space between a unary operator and its argument (except for the NOT keyword).</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">NOT</span><span style="color:#ce5c00;font-weight:bold">(</span><span style="color:#204a87;font-weight:bold">Type</span><span style="color:#f8f8f8;text-decoration:underline"> </span>=<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Type</span><span style="color:#000;font-weight:bold">::</span>Item<span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">NOT</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">(</span><span style="color:#204a87;font-weight:bold">Type</span><span style="color:#f8f8f8;text-decoration:underline"> </span>=<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Type</span><span style="color:#000;font-weight:bold">::</span>Item<span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>DiscAmt<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>&#34;Discount Amount&#34;<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>DiscAmt<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-&#34;Discount Amount&#34;<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Suggested Abbreviations</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/suggested-abbreviations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/suggested-abbreviations/</guid><description>
|
||
<h3 id="suggested-abbreviations">Suggested Abbreviations</h3>
|
||
<p>Whenever possible, do not use abbreviations in variables, functions and objects names.</p>
|
||
<p>If there is no other choice, then use the suggestions below.</p>
|
||
<p><strong>Abbreviation</strong></p>
|
||
<p><strong>Text</strong></p>
|
||
<p>Abs</p>
|
||
<p>absence</p>
|
||
<p>Acc</p>
|
||
<p>account</p>
|
||
<p>Acc</p>
|
||
<p>accounting</p>
|
||
<p>Accum</p>
|
||
<p>accumulated</p>
|
||
<p>Act</p>
|
||
<p>action</p>
|
||
<p>Activ</p>
|
||
<p>activity</p>
|
||
<p>Add</p>
|
||
<p>additional</p>
|
||
<p>Addr</p>
|
||
<p>address</p>
|
||
<p>Adj</p>
|
||
<p>adjust</p>
|
||
<p>Adjd</p>
|
||
<p>adjusted</p>
|
||
<p>Adjmt</p>
|
||
<p>adjustment</p>
|
||
<p>Agrmt</p>
|
||
<p>agreement</p>
|
||
<p>Alloc</p>
|
||
<p>allocation</p>
|
||
<p>Allow</p>
|
||
<p>allowance</p>
|
||
<p>Alt</p>
|
||
<p>alternative</p>
|
||
<p>Amt</p>
|
||
<p>amount</p>
|
||
<p>Amts</p>
|
||
<p>amounts</p>
|
||
<p>Ans</p>
|
||
<p>answer</p>
|
||
<p>Appl</p>
|
||
<p>applies</p>
|
||
<p>Appln</p>
|
||
<p>application</p>
|
||
<p>Arriv</p>
|
||
<p>arrival</p>
|
||
<p>Asm</p>
|
||
<p>assembly</p>
|
||
<p>ATO</p>
|
||
<p>assemble to order</p>
|
||
<p>Assgnt</p>
|
||
<p>assignment</p>
|
||
<p>Assoc</p>
|
||
<p>associated</p>
|
||
<p>Attmt</p>
|
||
<p>attachment</p>
|
||
<p>Auth</p>
|
||
<p>authorities</p>
|
||
<p>Auto</p>
|
||
<p>automatic</p>
|
||
<p>Avail</p>
|
||
<p>availability</p>
|
||
<p>Avg</p>
|
||
<p>average</p>
|
||
<p>BA</p>
|
||
<p>ba db.</p>
|
||
<p>Bal</p>
|
||
<p>balance</p>
|
||
<p>BOM</p>
|
||
<p>bill of materials</p>
|
||
<p>Blnkt</p>
|
||
<p>blanket</p>
|
||
<p>Budg</p>
|
||
<p>budget</p>
|
||
<p>Buf</p>
|
||
<p>buffer</p>
|
||
<p>Bus</p>
|
||
<p>business</p>
|
||
<p>BIM</p>
|
||
<p>business interaction management</p>
|
||
<p>Buy</p>
|
||
<p>buying</p>
|
||
<p>Calc</p>
|
||
<p>calculate</p>
|
||
<p>Calcd</p>
|
||
<p>calculated</p>
|
||
<p>Calcu</p>
|
||
<p>calculation</p>
|
||
<p>Cal</p>
|
||
<p>calendar</p>
|
||
<p>Cap</p>
|
||
<p>capacity</p>
|
||
<p>CRP</p>
|
||
<p>capacity requirements planning</p>
|
||
<p>CF</p>
|
||
<p>cash flow</p>
|
||
<p>CF</p>
|
||
<p>cashflow</p>
|
||
<p>ctlg</p>
|
||
<p>catalog</p>
|
||
<p>Cat</p>
|
||
<p>category</p>
|
||
<p>CPU</p>
|
||
<p>Central Processing Unit</p>
|
||
<p>Ctr</p>
|
||
<p>center</p>
|
||
<p>Chg</p>
|
||
<p>change</p>
|
||
<p>Chgs</p>
|
||
<p>changes</p>
|
||
<p>Char</p>
|
||
<p>character</p>
|
||
<p>Chars</p>
|
||
<p>characters</p>
|
||
<p>Chrg</p>
|
||
<p>charge</p>
|
||
<p>Chrgs</p>
|
||
<p>charges</p>
|
||
<p>Chk</p>
|
||
<p>check</p>
|
||
<p>Class</p>
|
||
<p>classification</p>
|
||
<p>coll</p>
|
||
<p>collection</p>
|
||
<p>col</p>
|
||
<p>column</p>
|
||
<p>Cmt</p>
|
||
<p>comment</p>
|
||
<p>Co</p>
|
||
<p>company</p>
|
||
<p>Comp</p>
|
||
<p>component</p>
|
||
<p>Cmpltn</p>
|
||
<p>completion</p>
|
||
<p>Comps</p>
|
||
<p>components</p>
|
||
<p>Compn</p>
|
||
<p>composition</p>
|
||
<p>Compr</p>
|
||
<p>compression</p>
|
||
<p>Concrnt</p>
|
||
<p>concurrent</p>
|
||
<p>Conf</p>
|
||
<p>confidential</p>
|
||
<p>Cnfrmn</p>
|
||
<p>confirmation</p>
|
||
<p>Confl</p>
|
||
<p>conflict</p>
|
||
<p>Consol</p>
|
||
<p>consolidate</p>
|
||
<p>Consolid</p>
|
||
<p>consolidation</p>
|
||
<p>Consump</p>
|
||
<p>consumption</p>
|
||
<p>Cont</p>
|
||
<p>contact</p>
|
||
<p>Cntr</p>
|
||
<p>container</p>
|
||
<p>Contr</p>
|
||
<p>contract</p>
|
||
<p>Contrd</p>
|
||
<p>contracted</p>
|
||
<p>Ctrl</p>
|
||
<p>control</p>
|
||
<p>Ctrls</p>
|
||
<p>controls</p>
|
||
<p>Conv</p>
|
||
<p>conversion</p>
|
||
<p>Cor</p>
|
||
<p>correction</p>
|
||
<p>Corres</p>
|
||
<p>correspondence</p>
|
||
<p>Corresp</p>
|
||
<p>corresponding</p>
|
||
<p>Cst</p>
|
||
<p>cost</p>
|
||
<p>COGS</p>
|
||
<p>sold</p>
|
||
<p>Cr</p>
|
||
<p>credit</p>
|
||
<p>Cumul</p>
|
||
<p>cumulate</p>
|
||
<p>Curr</p>
|
||
<p>currency</p>
|
||
<p>Crnt</p>
|
||
<p>current</p>
|
||
<p>Cust</p>
|
||
<p>customer</p>
|
||
<p>CV</p>
|
||
<p>customer/vendor</p>
|
||
<p>Dly</p>
|
||
<p>daily</p>
|
||
<p>Damp</p>
|
||
<p>dampener</p>
|
||
<p>DBMS</p>
|
||
<p>database management system</p>
|
||
<p>D</p>
|
||
<p>date</p>
|
||
<p>Def</p>
|
||
<p>definition</p>
|
||
<p>Demo</p>
|
||
<p>demonstration</p>
|
||
<p>Dept</p>
|
||
<p>department</p>
|
||
<p>DP</p>
|
||
<p>department/project</p>
|
||
<p>Depr</p>
|
||
<p>depreciation</p>
|
||
<p>Desc</p>
|
||
<p>description</p>
|
||
<p>Dtl</p>
|
||
<p>detail</p>
|
||
<p>Dtld</p>
|
||
<p>detailed</p>
|
||
<p>Dtls</p>
|
||
<p>details</p>
|
||
<p>Dev</p>
|
||
<p>deviation</p>
|
||
<p>Diff</p>
|
||
<p>difference</p>
|
||
<p>Dim</p>
|
||
<p>dimension</p>
|
||
<p>Dir</p>
|
||
<p>direct</p>
|
||
<p>Disc</p>
|
||
<p>discount</p>
|
||
<p>Discr</p>
|
||
<p>discrete</p>
|
||
<p>Distr</p>
|
||
<p>distribute</p>
|
||
<p>Distrd</p>
|
||
<p>distributed</p>
|
||
<p>Distbtr</p>
|
||
<p>distributor</p>
|
||
<p>Distrn</p>
|
||
<p>distribution</p>
|
||
<p>Doc</p>
|
||
<p>document</p>
|
||
<p>Dupl</p>
|
||
<p>duplicate</p>
|
||
<p>Entrd</p>
|
||
<p>entered</p>
|
||
<p>Engin</p>
|
||
<p>engineering</p>
|
||
<p>Exch</p>
|
||
<p>exchange</p>
|
||
<p>Excl</p>
|
||
<p>excluding</p>
|
||
<p>Exec</p>
|
||
<p>execute</p>
|
||
<p>Expd</p>
|
||
<p>expected</p>
|
||
<p>Exped</p>
|
||
<p>expedited</p>
|
||
<p>Exp</p>
|
||
<p>expense</p>
|
||
<p>Expr</p>
|
||
<p>expression</p>
|
||
<p>Expir</p>
|
||
<p>expiration</p>
|
||
<p>Ext</p>
|
||
<p>extended</p>
|
||
<p>Expl</p>
|
||
<p>explode</p>
|
||
<p>Expt</p>
|
||
<p>export</p>
|
||
<p>Fnl</p>
|
||
<p>final</p>
|
||
<p>Fin</p>
|
||
<p>finance</p>
|
||
<p>Fisc</p>
|
||
<p>fiscal</p>
|
||
<p>Fnshd</p>
|
||
<p>finished</p>
|
||
<p>FA</p>
|
||
<p>fixed asset</p>
|
||
<p>Fwd</p>
|
||
<p>forward</p>
|
||
<p>Frt</p>
|
||
<p>freight</p>
|
||
<p>Gen</p>
|
||
<p>general</p>
|
||
<p>GL</p>
|
||
<p>general ledger</p>
|
||
<p>Gr</p>
|
||
<p>group</p>
|
||
<p>Hdr</p>
|
||
<p>header</p>
|
||
<p>Hist</p>
|
||
<p>history</p>
|
||
<p>Hol</p>
|
||
<p>holiday</p>
|
||
<p>HR</p>
|
||
<p>human resource</p>
|
||
<p>ID</p>
|
||
<p>identification</p>
|
||
<p>Imp</p>
|
||
<p>import</p>
|
||
<p>Inbnd</p>
|
||
<p>inbound</p>
|
||
<p>Incl</p>
|
||
<p>including</p>
|
||
<p>Incld</p>
|
||
<p>included</p>
|
||
<p>Incmg</p>
|
||
<p>incoming</p>
|
||
<p>ISV</p>
|
||
<p>independent software vendor</p>
|
||
<p>Indust</p>
|
||
<p>industry</p>
|
||
<p>Info</p>
|
||
<p>information</p>
|
||
<p>Init</p>
|
||
<p>initial</p>
|
||
<p>Intra</p>
|
||
<p>Intrastat</p>
|
||
<p>Interact</p>
|
||
<p>interaction</p>
|
||
<p>Integr</p>
|
||
<p>integration</p>
|
||
<p>Int</p>
|
||
<p>interest</p>
|
||
<p>Intm</p>
|
||
<p>Interim</p>
|
||
<p>IP</p>
|
||
<p>internal protocol</p>
|
||
<p>Invt</p>
|
||
<p>inventory</p>
|
||
<p>Invtbl</p>
|
||
<p>inventoriable</p>
|
||
<p>Inv</p>
|
||
<p>invoice</p>
|
||
<p>Invd</p>
|
||
<p>invoiced</p>
|
||
<p>IT</p>
|
||
<p>item tracking</p>
|
||
<p>Jnl</p>
|
||
<p>journal</p>
|
||
<p>Lang</p>
|
||
<p>language</p>
|
||
<p>Ledg</p>
|
||
<p>ledger</p>
|
||
<p>Lvl</p>
|
||
<p>level</p>
|
||
<p>Ln</p>
|
||
<p>line</p>
|
||
<p>Lt</p>
|
||
<p>list</p>
|
||
<p>LCY</p>
|
||
<p>local currency</p>
|
||
<p>Loc</p>
|
||
<p>location</p>
|
||
<p>Mail</p>
|
||
<p>mailing</p>
|
||
<p>Maint</p>
|
||
<p>maintenance</p>
|
||
<p>Mgt</p>
|
||
<p>management</p>
|
||
<p>Man</p>
|
||
<p>manual</p>
|
||
<p>Mfg</p>
|
||
<p>manufacturing</p>
|
||
<p>Mfr</p>
|
||
<p>manufacturer</p>
|
||
<p>Mat</p>
|
||
<p>material</p>
|
||
<p>Mktg</p>
|
||
<p>marketing</p>
|
||
<p>Max</p>
|
||
<p>maximum</p>
|
||
<p>Meas</p>
|
||
<p>measure</p>
|
||
<p>Msg</p>
|
||
<p>message</p>
|
||
<p>Min</p>
|
||
<p>minimum</p>
|
||
<p>Misc</p>
|
||
<p>miscellaneous</p>
|
||
<p>Mod</p>
|
||
<p>modify</p>
|
||
<p>Mth</p>
|
||
<p>month</p>
|
||
<p>Neg</p>
|
||
<p>negative</p>
|
||
<p>NonInvtbl</p>
|
||
<p>non-inventoriable</p>
|
||
<p>Notif</p>
|
||
<p>notification</p>
|
||
<p>No</p>
|
||
<p>number</p>
|
||
<p>Nos</p>
|
||
<p>numbers</p>
|
||
<p>Obj</p>
|
||
<p>object</p>
|
||
<p>Oper</p>
|
||
<p>operating</p>
|
||
<p>Opp</p>
|
||
<p>opportunity</p>
|
||
<p>Ord</p>
|
||
<p>order</p>
|
||
<p>Ords</p>
|
||
<p>orders</p>
|
||
<p>Orig</p>
|
||
<p>original</p>
|
||
<p>Org</p>
|
||
<p>organization</p>
|
||
<p>Outbnd</p>
|
||
<p>outbound</p>
|
||
<p>Outg</p>
|
||
<p>Outgoing</p>
|
||
<p>Out</p>
|
||
<p>output</p>
|
||
<p>Outstd</p>
|
||
<p>outstanding</p>
|
||
<p>Ovhd</p>
|
||
<p>overhead</p>
|
||
<p>Pmt</p>
|
||
<p>payment</p>
|
||
<p>Pct</p>
|
||
<p>percent</p>
|
||
<p>Persnl</p>
|
||
<p>personnel</p>
|
||
<p>Phys</p>
|
||
<p>physical</p>
|
||
<p>Pic</p>
|
||
<p>picture</p>
|
||
<p>Plng</p>
|
||
<p>planning</p>
|
||
<p>Pstd</p>
|
||
<p>posted</p>
|
||
<p>Post</p>
|
||
<p>posting</p>
|
||
<p>Pos</p>
|
||
<p>positive</p>
|
||
<p>Prec</p>
|
||
<p>precision</p>
|
||
<p>Prepmt</p>
|
||
<p>prepayment</p>
|
||
<p>Prod</p>
|
||
<p>product</p>
|
||
<p>Prod</p>
|
||
<p>production</p>
|
||
<p>ProdOrd</p>
|
||
<p>production order</p>
|
||
<p>Proj</p>
|
||
<p>project</p>
|
||
<p>Prop</p>
|
||
<p>property</p>
|
||
<p>Prspct</p>
|
||
<p>prospect</p>
|
||
<p>Purch</p>
|
||
<p>purchase</p>
|
||
<p>Purch</p>
|
||
<p>purchases</p>
|
||
<p>Purchr</p>
|
||
<p>purchaser</p>
|
||
<p>PurchOrd</p>
|
||
<p>purchase order</p>
|
||
<p>Qlty</p>
|
||
<p>quality</p>
|
||
<p>Qty</p>
|
||
<p>quantity</p>
|
||
<p>Questn</p>
|
||
<p>questionnaire</p>
|
||
<p>Qte</p>
|
||
<p>quote</p>
|
||
<p>RF</p>
|
||
<p>radio frequency</p>
|
||
<p>Rng</p>
|
||
<p>range</p>
|
||
<p>Rcpt</p>
|
||
<p>receipt</p>
|
||
<p>Rcd</p>
|
||
<p>received</p>
|
||
<p>Rec</p>
|
||
<p>record</p>
|
||
<p>Recs</p>
|
||
<p>records</p>
|
||
<p>Recncl</p>
|
||
<p>reconcile</p>
|
||
<p>Recon</p>
|
||
<p>reconciliation</p>
|
||
<p>Recur</p>
|
||
<p>recurring</p>
|
||
<p>Ref</p>
|
||
<p>reference</p>
|
||
<p>Reg</p>
|
||
<p>register</p>
|
||
<p>Regn</p>
|
||
<p>registration</p>
|
||
<p>Regd</p>
|
||
<p>registered</p>
|
||
<p>Rel</p>
|
||
<p>relation</p>
|
||
<p>Rels</p>
|
||
<p>relations</p>
|
||
<p>Rlshp</p>
|
||
<p>relationship</p>
|
||
<p>Rlse</p>
|
||
<p>release</p>
|
||
<p>Rlsd</p>
|
||
<p>released</p>
|
||
<p>Rem</p>
|
||
<p>remaining</p>
|
||
<p>Rmdr</p>
|
||
<p>reminder</p>
|
||
<p>Repl</p>
|
||
<p>replacement</p>
|
||
<p>Rplnsh</p>
|
||
<p>replenish</p>
|
||
<p>Rplnsht</p>
|
||
<p>replenishment</p>
|
||
<p>Rpt</p>
|
||
<p>report</p>
|
||
<p>Rep</p>
|
||
<p>represent</p>
|
||
<p>Repd</p>
|
||
<p>represented</p>
|
||
<p>Rqst</p>
|
||
<p>request</p>
|
||
<p>Reqd</p>
|
||
<p>required</p>
|
||
<p>Reqt</p>
|
||
<p>requirement</p>
|
||
<p>Reqts</p>
|
||
<p>requirements</p>
|
||
<p>Req</p>
|
||
<p>requisition</p>
|
||
<p>Rsv</p>
|
||
<p>reserve</p>
|
||
<p>Rsvd</p>
|
||
<p>reserved</p>
|
||
<p>Reserv</p>
|
||
<p>reservation</p>
|
||
<p>Resol</p>
|
||
<p>resolution</p>
|
||
<p>Res</p>
|
||
<p>resource</p>
|
||
<p>Rsp</p>
|
||
<p>response</p>
|
||
<p>Resp</p>
|
||
<p>responsibility</p>
|
||
<p>Rtn</p>
|
||
<p>retain</p>
|
||
<p>Rtnd</p>
|
||
<p>retained</p>
|
||
<p>Ret</p>
|
||
<p>return</p>
|
||
<p>Rets</p>
|
||
<p>returns</p>
|
||
<p>Revaln</p>
|
||
<p>revaluation</p>
|
||
<p>Rev</p>
|
||
<p>reverse</p>
|
||
<p>Rvw</p>
|
||
<p>review</p>
|
||
<p>Rnd</p>
|
||
<p>round</p>
|
||
<p>Rndd</p>
|
||
<p>rounded</p>
|
||
<p>Rndg</p>
|
||
<p>rounding</p>
|
||
<p>Rte</p>
|
||
<p>route</p>
|
||
<p>Rtng</p>
|
||
<p>routing</p>
|
||
<p>Rout</p>
|
||
<p>routine</p>
|
||
<p>Sales</p>
|
||
<p>sales &amp; receivables</p>
|
||
<p>Saf</p>
|
||
<p>safety</p>
|
||
<p>Sched</p>
|
||
<p>schedule</p>
|
||
<p>Sec</p>
|
||
<p>second</p>
|
||
<p>Seg</p>
|
||
<p>segment</p>
|
||
<p>Sel</p>
|
||
<p>select</p>
|
||
<p>Selctn</p>
|
||
<p>selection</p>
|
||
<p>Seq</p>
|
||
<p>sequence</p>
|
||
<p>Ser</p>
|
||
<p>serial</p>
|
||
<p>SN</p>
|
||
<p>serial number</p>
|
||
<p>Serv</p>
|
||
<p>service</p>
|
||
<p>Sh</p>
|
||
<p>sheet</p>
|
||
<p>Shpt</p>
|
||
<p>shipment</p>
|
||
<p>Src</p>
|
||
<p>source</p>
|
||
<p>Spcl</p>
|
||
<p>special</p>
|
||
<p>Spec</p>
|
||
<p>specification</p>
|
||
<p>Specs</p>
|
||
<p>specifications</p>
|
||
<p>Std</p>
|
||
<p>standard</p>
|
||
<p>SF</p>
|
||
<p>frequency</p>
|
||
<p>Stmt</p>
|
||
<p>statement</p>
|
||
<p>Stat</p>
|
||
<p>statistical</p>
|
||
<p>Stats</p>
|
||
<p>statistics</p>
|
||
<p>Stk</p>
|
||
<p>stock</p>
|
||
<p>SKU</p>
|
||
<p>stockkeeping unit</p>
|
||
<p>Stm</p>
|
||
<p>stream</p>
|
||
<p>SQL</p>
|
||
<p>structured query language</p>
|
||
<p>Subcontr</p>
|
||
<p>subcontract</p>
|
||
<p>Subcontrd</p>
|
||
<p>subcontracted</p>
|
||
<p>Subcontrg</p>
|
||
<p>subcontracting</p>
|
||
<p>Sub</p>
|
||
<p>substitute</p>
|
||
<p>Subst</p>
|
||
<p>substitution</p>
|
||
<p>Sug</p>
|
||
<p>suggest</p>
|
||
<p>Sugd</p>
|
||
<p>suggested</p>
|
||
<p>Sugn</p>
|
||
<p>suggestion</p>
|
||
<p>Sum</p>
|
||
<p>summary</p>
|
||
<p>Suspd</p>
|
||
<p>suspended</p>
|
||
<p>Sympt</p>
|
||
<p>symptom</p>
|
||
<p>Synch</p>
|
||
<p>synchronize</p>
|
||
<p>Temp</p>
|
||
<p>temporary</p>
|
||
<p>Tot</p>
|
||
<p>total</p>
|
||
<p>Transac</p>
|
||
<p>transaction</p>
|
||
<p>Trans</p>
|
||
<p>transfer</p>
|
||
<p>Transln</p>
|
||
<p>translation</p>
|
||
<p>Trkg</p>
|
||
<p>tracking</p>
|
||
<p>Tblsht</p>
|
||
<p>troubleshoot</p>
|
||
<p>Tblshtg</p>
|
||
<p>troubleshooting</p>
|
||
<p>UOM</p>
|
||
<p>unit of measure</p>
|
||
<p>UT</p>
|
||
<p>unit test</p>
|
||
<p>Unreal</p>
|
||
<p>unrealized</p>
|
||
<p>Unrsvd</p>
|
||
<p>unreserved</p>
|
||
<p>Upd</p>
|
||
<p>update</p>
|
||
<p>Valn</p>
|
||
<p>valuation</p>
|
||
<p>Val</p>
|
||
<p>value</p>
|
||
<p>VAT</p>
|
||
<p>value added tax</p>
|
||
<p>Var</p>
|
||
<p>variance</p>
|
||
<p>Vend</p>
|
||
<p>vendor</p>
|
||
<p>Whse</p>
|
||
<p>warehouse</p>
|
||
<p>WS</p>
|
||
<p>web shop</p>
|
||
<p>Wksh</p>
|
||
<p>worksheet</p>
|
||
<p>GL</p>
|
||
<p>g/l</p>
|
||
<p>Pct</p>
|
||
<p>%</p>
|
||
<p>Three-Tier</p>
|
||
<p>3-tier</p>
|
||
<p>Osynch</p>
|
||
<p>Outlook Synch</p>
|
||
<h2 id="heading"></h2></description></item><item><title>Docs: Temporary Variable Naming</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/temporary-variable-naming/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/temporary-variable-naming/</guid><description>
|
||
<p>The name of a temporary variable must be prefixed with the word Temp and not otherwise.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>JobWIPBuffer@<span style="color:#0000cf;font-weight:bold">1002</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TEMPORARY</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Record</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1018</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>TempJobWIPBuffer@<span style="color:#0000cf;font-weight:bold">1002</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TEMPORARY</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Record</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1018</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>TempJobWIPBuffer@<span style="color:#0000cf;font-weight:bold">1002</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Record</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1018</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>CopyOfJobWIPBuffer@<span style="color:#0000cf;font-weight:bold">1002</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Record</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1018</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: TextConst Suffixes</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/textconst-suffixes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/textconst-suffixes/</guid><description>
|
||
<p>TextConst variable names should have a suffix (an approved three-letter suffix: Msg, Tok, Err, Qst, Lbl, Txt) describing usage.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>CannotDeleteLine@<span style="color:#0000cf;font-weight:bold">1005</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TextConst</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;ENU=You cannot delete this line because one or more rating values exists.&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span>ERROR<span style="color:#ce5c00;font-weight:bold">(</span>CannotDeleteLine<span style="color:#000;font-weight:bold">,</span>TABLECAPTION<span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>CannotDeleteLineErr@<span style="color:#0000cf;font-weight:bold">1005</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TextConst</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;ENU=You cannot delete this line because one or more rating values exists.&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span>ERROR<span style="color:#ce5c00;font-weight:bold">(</span>CannotDeleteLineErr<span style="color:#000;font-weight:bold">,</span>TABLECAPTION<span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>Text000@<span style="color:#0000cf;font-weight:bold">1011</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TextConst</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;ENU=&#34;has been changed (initial a %1: %2= %3, %4= %5)&#34;&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span>SalesLine<span style="color:#ce5c00;font-weight:bold">.</span>FIELDERROR<span style="color:#ce5c00;font-weight:bold">(</span><span style="color:#204a87;font-weight:bold">Type</span><span style="color:#000;font-weight:bold">,</span>STRSUBSTNO<span style="color:#ce5c00;font-weight:bold">(</span>Text000<span style="color:#000;font-weight:bold">,</span><span style="color:#ce5c00;font-weight:bold">...)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>TypeHasBeenChangedErr@<span style="color:#0000cf;font-weight:bold">1011</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TextConst</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;ENU=&#34;has been changed (initial a %1: %2= %3, %4= %5)&#34;&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span>SalesLine<span style="color:#ce5c00;font-weight:bold">.</span>FIELDERROR<span style="color:#ce5c00;font-weight:bold">(</span><span style="color:#204a87;font-weight:bold">Type</span><span style="color:#000;font-weight:bold">,</span>STRSUBSTNO<span style="color:#ce5c00;font-weight:bold">(</span>TypeHasBeenChangedErr<span style="color:#000;font-weight:bold">,</span><span style="color:#ce5c00;font-weight:bold">...)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>Text004@<span style="color:#0000cf;font-weight:bold">1004</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TextConst</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;ENU=Indenting the Job Tasks \#1\#\#\#\#\#\#\#\#\#\#.&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span>Window@<span style="color:#0000cf;font-weight:bold">1007</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Dialog</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"> </span>Window<span style="color:#ce5c00;font-weight:bold">.</span>OPEN<span style="color:#ce5c00;font-weight:bold">(</span>Text004<span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>IndentingMsg@<span style="color:#0000cf;font-weight:bold">1004</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TextConst</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;ENU=Indenting the Job Tasks \#1\#\#\#\#\#\#\#\#\#\#.&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span>Window@<span style="color:#0000cf;font-weight:bold">1007</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Dialog</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"> </span>Window<span style="color:#ce5c00;font-weight:bold">.</span>OPEN<span style="color:#ce5c00;font-weight:bold">(</span>IndentingMsg<span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>Text002@<span style="color:#0000cf;font-weight:bold">1005</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TextConst</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;ENU=You cannot delete a %1 that is used in one or more setup windows.\\ Do you want to open the G/L Account No. Where-Used List Window?&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>CONFIRM<span style="color:#ce5c00;font-weight:bold">(</span>Text002<span style="color:#000;font-weight:bold">,</span>TRUE<span style="color:#000;font-weight:bold">,</span>GLAcc<span style="color:#ce5c00;font-weight:bold">.</span>TABLECAPTION<span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>OpenWhereUsedWindowQst@<span style="color:#0000cf;font-weight:bold">1005</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TextConst</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;ENU=You cannot delete a %1 that is used in one or more setup windows.\\ Do you want to open the G/L Account No. Where-Used List Window?&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>CONFIRM<span style="color:#ce5c00;font-weight:bold">(</span>OpenWhereUsedWindowQst<span style="color:#000;font-weight:bold">,</span>TRUE<span style="color:#000;font-weight:bold">,</span>GLAcc<span style="color:#ce5c00;font-weight:bold">.</span>TABLECAPTION<span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>Selection<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>STRMENU<span style="color:#ce5c00;font-weight:bold">(</span>Text003<span style="color:#000;font-weight:bold">,</span><span style="color:#0000cf;font-weight:bold">2</span><span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span>Text003@<span style="color:#0000cf;font-weight:bold">1002</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TextConst</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;ENU=&amp;Copy dimensions from BOM,&amp;Retrieve dimensions from components&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>Selection<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>STRMENU<span style="color:#ce5c00;font-weight:bold">(</span>CopyFromQst<span style="color:#000;font-weight:bold">,</span><span style="color:#0000cf;font-weight:bold">2</span><span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"> </span>CopyFromQst@<span style="color:#0000cf;font-weight:bold">1002</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TextConst</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;ENU=&amp;Copy dimensions from BOM,&amp;Retrieve dimensions from components&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">DATASET</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span>{<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"> </span>{<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">;</span><span style="color:#0000cf;font-weight:bold">1</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">;</span><span style="color:#204a87;font-weight:bold">Column</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">;</span>Chart_of_AccountsCaption<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>SourceExpr=Chart_of_AccountsCaption<span style="color:#f8f8f8;text-decoration:underline"> </span>}<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span>Chart_of_AccountsCaption@<span style="color:#0000cf;font-weight:bold">9647</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TextConst</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;ENU=Chart of Accounts&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">DATASET</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span>{<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"> </span>{<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">;</span><span style="color:#0000cf;font-weight:bold">1</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">;</span><span style="color:#204a87;font-weight:bold">Column</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">;</span>Chart_of_AccountsCaption<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>SourceExpr=ChartOfAccountsLbl<span style="color:#f8f8f8;text-decoration:underline"> </span>}<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span>ChartOfAccountsLbl@<span style="color:#0000cf;font-weight:bold">9647</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TextConst</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;ENU=Chart of Accounts&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Unary Operator Line End</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/unary-operator-line-end/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/unary-operator-line-end/</guid><description>
|
||
<p>Do not end a line with unary operator.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>&#34;Quantity Handled (Base)&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>&#34;Quantity Handled (Base)&#34;<span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>&#34;Quantity Handled (Base)&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">:=</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span>&#34;Quantity Handled (Base)&#34;<span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Unnecessary Compound Parenthesis</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/unnecessary-compound-parenthesis/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/unnecessary-compound-parenthesis/</guid><description>
|
||
<p>Use parenthesis only to enclose compound expressions inside compound expressions.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">(</span>&#34;Costing Method&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span>=<span style="color:#f8f8f8;text-decoration:underline"> </span>&#34;Costing Method&#34;<span style="color:#000;font-weight:bold">::</span>Standard<span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>&#34;Costing Method&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span>=<span style="color:#f8f8f8;text-decoration:underline"> </span>&#34;Costing Method&#34;<span style="color:#000;font-weight:bold">::</span>Standard<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>ProfitPct<span style="color:#f8f8f8;text-decoration:underline"> </span>=<span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#ce5c00;font-weight:bold">(</span>Profit<span style="color:#ce5c00;font-weight:bold">) </span>/<span style="color:#f8f8f8;text-decoration:underline"> </span>CostAmt<span style="color:#f8f8f8;text-decoration:underline"> </span>*<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">100</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>ProfitPct<span style="color:#f8f8f8;text-decoration:underline"> </span>=<span style="color:#f8f8f8;text-decoration:underline"> </span>-Profit<span style="color:#f8f8f8;text-decoration:underline"> </span>/<span style="color:#f8f8f8;text-decoration:underline"> </span>CostAmt<span style="color:#f8f8f8;text-decoration:underline"> </span>*<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">100</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Unnecessary ELSE</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/unnecessary-else/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/unnecessary-else/</guid><description>
|
||
<p>ELSE should not be used when the last action in the THEN part is an EXIT, BREAK, SKIP, QUIT, ERROR.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>IsAdjmtBinCodeChanged<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>ERROR<span style="color:#ce5c00;font-weight:bold">(</span>AdjmtBinCodeChangeNotAllowedErr<span style="color:#000;font-weight:bold">,</span><span style="color:#ce5c00;font-weight:bold">...)
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span><span style="color:#204a87;font-weight:bold">ELSE</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>ERROR<span style="color:#ce5c00;font-weight:bold">(</span>BinCodeChangeNotAllowedErr<span style="color:#000;font-weight:bold">,</span><span style="color:#ce5c00;font-weight:bold">...)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>IsAdjmtBinCodeChanged<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>ERROR<span style="color:#ce5c00;font-weight:bold">(</span>AdjmtBinCodeChangeNotAllowedErr<span style="color:#000;font-weight:bold">,</span><span style="color:#ce5c00;font-weight:bold">...)
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span>ERROR<span style="color:#ce5c00;font-weight:bold">(</span>BinCodeChangeNotAllowedErr<span style="color:#000;font-weight:bold">,</span><span style="color:#ce5c00;font-weight:bold">...)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Unnecessary Function Parenthesis</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/unnecessary-function-parenthesis/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/unnecessary-function-parenthesis/</guid><description>
|
||
<p>Do not use parenthesis in a function call if the function does not have any parameters.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>ReservMgt<span style="color:#ce5c00;font-weight:bold">.</span>IsPositive<span style="color:#ce5c00;font-weight:bold">() </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>ReservMgt<span style="color:#ce5c00;font-weight:bold">.</span>IsPositive<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>ChangeStatusForm<span style="color:#ce5c00;font-weight:bold">.</span>RUNMODAL<span style="color:#ce5c00;font-weight:bold">() </span>&lt;&gt;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">ACTION</span><span style="color:#000;font-weight:bold">::</span>Yes<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>ChangeStatusForm<span style="color:#ce5c00;font-weight:bold">.</span>RUNMODAL<span style="color:#f8f8f8;text-decoration:underline"> </span>&lt;&gt;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">ACTION</span><span style="color:#000;font-weight:bold">::</span>Yes<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Unnecessary Separators</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/unnecessary-separators/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/unnecessary-separators/</guid><description>
|
||
<p>There should be no unnecessary separators.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Customer<span style="color:#ce5c00;font-weight:bold">.</span>FINDFIRST<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#000;font-weight:bold">;;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Customer<span style="color:#ce5c00;font-weight:bold">.</span>FINDFIRST<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Unnecessary TRUE/FALSE</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/unnecessary-truefalse/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/unnecessary-truefalse/</guid><description>
|
||
<p>Do not use TRUE or FALSE keywords unnecessarily if the expression is already an logical expression.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>IsPositive<span style="color:#ce5c00;font-weight:bold">() </span>=<span style="color:#f8f8f8;text-decoration:underline"> </span>TRUE<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>IsPositive<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<pre tabindex="0"><code>IF Complete &lt;&gt; TRUE THEN
|
||
</code></pre><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">NOT</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Complete<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Variable Already Scoped</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/variable-already-scoped/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/variable-already-scoped/</guid><description>
|
||
<p>Do not use scope &lsquo;&rsquo;.&rsquo;&rsquo; qualifier unnecessarily when a variable is already implicitly or explicitly scoped. It keeps the code simpler.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>ReturnRcptHeader<span style="color:#ce5c00;font-weight:bold">.</span>SETRANGE<span style="color:#ce5c00;font-weight:bold">(</span>ReturnRcptHeader<span style="color:#ce5c00;font-weight:bold">.</span>&#34;Return Order No.&#34;<span style="color:#000;font-weight:bold">,</span>&#34;Document No.&#34;<span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>ReturnRcptHeader<span style="color:#ce5c00;font-weight:bold">.</span>SETRANGE<span style="color:#ce5c00;font-weight:bold">(</span>&#34;Return Order No.&#34;<span style="color:#000;font-weight:bold">,</span>&#34;Document No.&#34;<span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">WITH</span><span style="color:#f8f8f8;text-decoration:underline"> </span>ChangeLogSetupTable<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">DO</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"> </span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>ChangeLogSetupTable<span style="color:#ce5c00;font-weight:bold">.</span>DELETE<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span><span style="color:#204a87;font-weight:bold">END</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">WITH</span><span style="color:#f8f8f8;text-decoration:underline"> </span>ChangeLogSetupTable<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">DO</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"> </span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>DELETE<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span><span style="color:#204a87;font-weight:bold">END</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Variable Naming</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/variable-naming/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/variable-naming/</guid><description>
|
||
<p>Variables that refer to a C/AL object must contain the objects name, abbreviated where necessary.</p>
|
||
<p>A variable must begin with a capital letter.</p>
|
||
<p>Blanks, periods, and other characters (such as parentheses) that would make quotation marks around a variable necessary must be omitted.</p>
|
||
<p>If a variable is a compound of two or more words or abbreviations, each word or abbreviation should begin with a capital letter.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"> </span>WIPBuffer@<span style="color:#0000cf;font-weight:bold">1002</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Record</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1018</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span>OBJECT<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Table</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Job<span style="color:#f8f8f8;text-decoration:underline"> </span>WIP<span style="color:#f8f8f8;text-decoration:underline"> </span>Buffer<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"> </span>JobWIPBuffer@<span style="color:#0000cf;font-weight:bold">1002</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Record</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">1018</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span>OBJECT<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Table</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Job<span style="color:#f8f8f8;text-decoration:underline"> </span>WIP<span style="color:#f8f8f8;text-decoration:underline"> </span>Buffer<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"> </span>Postline@<span style="color:#0000cf;font-weight:bold">1004</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Codeunit</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">12</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span>OBJECT<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Codeunit</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Gen<span style="color:#ce5c00;font-weight:bold">. </span>Jnl<span style="color:#ce5c00;font-weight:bold">.</span>-Post<span style="color:#f8f8f8;text-decoration:underline"> </span>Line<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"> </span>GenJnlPostLine@<span style="color:#0000cf;font-weight:bold">1004</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Codeunit</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">12</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span>OBJECT<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Codeunit</span><span style="color:#f8f8f8;text-decoration:underline"> </span>Gen<span style="color:#ce5c00;font-weight:bold">. </span>Jnl<span style="color:#ce5c00;font-weight:bold">.</span>-Post<span style="color:#f8f8f8;text-decoration:underline"> </span>Line<span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">LOCAL</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">PROCEDURE</span><span style="color:#f8f8f8;text-decoration:underline"> </span>HandleCustDebitCredit@<span style="color:#0000cf;font-weight:bold">17</span><span style="color:#ce5c00;font-weight:bold">(...</span><span style="color:#000;font-weight:bold">;</span>&#34;Amount (LCY)&#34;@<span style="color:#0000cf;font-weight:bold">1001</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Decimal</span><span style="color:#000;font-weight:bold">;</span><span style="color:#ce5c00;font-weight:bold">...)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">((... (</span>&#34;Amount (LCY)&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span>\&gt;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0</span><span style="color:#ce5c00;font-weight:bold">)) ...) </span><span style="color:#204a87;font-weight:bold">OR</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">((... (</span>&#34;Amount (LCY)&#34;<span style="color:#f8f8f8;text-decoration:underline"> </span>&lt;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0</span><span style="color:#ce5c00;font-weight:bold">)) ...)
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">LOCAL</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">PROCEDURE</span><span style="color:#f8f8f8;text-decoration:underline"> </span>HandleCustDebitCredit@<span style="color:#0000cf;font-weight:bold">17</span><span style="color:#ce5c00;font-weight:bold">(...</span><span style="color:#000;font-weight:bold">;</span>AmountLCY@<span style="color:#0000cf;font-weight:bold">1001</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Decimal</span><span style="color:#000;font-weight:bold">;</span><span style="color:#ce5c00;font-weight:bold">...)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">((... (</span>AmountLCY<span style="color:#f8f8f8;text-decoration:underline"> </span>\&gt;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0</span><span style="color:#ce5c00;font-weight:bold">)) ...) </span><span style="color:#204a87;font-weight:bold">OR</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">((... (</span>AmountLCY<span style="color:#f8f8f8;text-decoration:underline"> </span>&lt;<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">0</span><span style="color:#ce5c00;font-weight:bold">)) ...)
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"> </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">BEGIN</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">...
|
||
</span></span></span></code></pre></div></description></item><item><title>Docs: Variables Declarations Order</title><link>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/variables-declarations-order/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/readability/variables-declarations-order/</guid><description>
|
||
<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 the same as the object list in the object designer for C/AL objects. Afterwards come the complex variables like RecordRef, .NET, FieldRef etc. At the end come all the simple data types in no particular order.</p>
|
||
<p>Bad code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>StartingDateFilter@<span style="color:#0000cf;font-weight:bold">1002</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Text</span>[<span style="color:#0000cf;font-weight:bold">30</span>]<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span>Vend@<span style="color:#0000cf;font-weight:bold">1003</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Record</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">23</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div><p>Good code</p>
|
||
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>Vend@<span style="color:#0000cf;font-weight:bold">1003</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Record</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">23</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span>StartingDateFilter@<span style="color:#0000cf;font-weight:bold">1002</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">Text</span>[<span style="color:#0000cf;font-weight:bold">30</span>]<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline">
|
||
</span></span></span></code></pre></div></description></item></channel></rss> |