Open cegekaJG opened 8 months ago
Ich schlage folgende Regeln als mögliche Fehler vor:
ID | Description | Justification |
---|---|---|
AA0005 | Only use BEGIN..END to enclose compound statements. | Weniger BEGIN..END-Klammern vereinfacht den Code und macht ihn mehr lesbar. |
AA0008 | Function calls should have parenthesis even if they do not have any parameters. | Implizite Verwendungen sollten vermeidet werden, und die Klammern machen es leichter, Variablen von Funktionen zu unterscheiden. |
AA0013 | When BEGIN follows THEN, ELSE, DO, it should be on the same line, preceded by one space character. | Vereinheitlicht den Code und macht ihn mehr lesbar. |
AA0018 | The END, IF, REPEAT, UNTIL, FOR, WHILE, and CASE statement should always start a line. | Vereinheitlicht den Code und macht ihn mehr lesbar. |
AA0021 | Variable declarations should be ordered by type. | Macht den Code mehr übersichtlich und verhindert ungewollte Änderungen von Cleanup-Jobs. Dies kann mit "AZ AL" automatisiert werden. |
AA0040 | Avoid using nested WITH statements. | WITH sollte prinzipiell vermieden werden, da es zu unklaren Aufrufen führen kann. |
AA0050 | Permission set extensions should not include permissions for objects defined in another application. | Berechtigungen sollten sich nur auf Objekte in der Extension beziehen. |
AA0139 | Do not assign a text to a target with smaller size. | Damit können falsch definierte Variablen und Felder auffallen. |
AA0161 | Only use AssertError in Test Codeunits. | Es gibt keinen Grund, AssertError außerhalb einer Codeunit zu verwenden. |
AA0194 | Only write actions that have an effect. | Leere Aktionen verwirren den Benutzer und macht den Zweck unklar. Stattdessen sollte eine ToDo-Notiz oder ein GitHub-Issue erstellt werden. |
AA0198 | Do not use identical names for local and global variables. | Immer einen einzigartigen Namen wählen, um Fehler zu vermeiden und den Code deutlicher zu machen. |
AA0202 | To avoid confusion, do not give local variables the same name as fields, methods, or actions in the same scope. | Immer einen einzigartigen Namen wählen, um Fehler zu vermeiden und den Code deutlicher zu machen. |
AA0203 | To avoid confusion, do not give methods the same name as fields or actions in the same scope. | Immer einen einzigartigen Namen wählen, um Fehler zu vermeiden und den Code deutlicher zu machen. |
AA0204 | To avoid confusion, do not give global variables the same name as fields, methods, or actions in the same scope. | Immer einen einzigartigen Namen wählen, um Fehler zu vermeiden und den Code deutlicher zu machen. |
AA0207 | The EventSubscriber method must be local. | Es gibt keinen Grund, einen EventSubscriber nicht lokal zu machen. |
AA0211 | Avoids a runtime error from using CalcFields on a field that is not a FlowField or a field of type Blob. | Es gibt keinen Grund, ein CalcField auf ein anderes Feld zu machen. |
AA0224 | The count of option captions specified in the OptionCaption property is wrong. | Eine Diskrepanz zwischen den Werten und den Captions sollte immer vermieden werden. |
AA0231 | StrSubstNo or string concatenation must not be used as a parameter in the Error method. | Error kann bereits Platzhalter ersetzen. Dies macht den Code leicher zu lesen. |
AA0243 | Running an upgrade codeunit is not allowed. | Upgrade Codeunits sollten nur für den Upgrade-Prozess verwendet werden. |
AA0244 | Do not use identical names for parameters and global variables. | Immer einen einzigartigen Namen wählen, um Fehler zu vermeiden und den Code deutlicher zu machen. (Innerhalb 2 verschiedener lokalen Scopes kann ein Name weiterverwendet werden.) |
AA0245 | To avoid confusion, do not give parameters the same name as fields, methods, or actions in the same scope. | Immer einen einzigartigen Namen wählen, um Fehler zu vermeiden und den Code deutlicher zu machen. |
Id | Description | Justification |
---|---|---|
AW0004 | A Blob cannot be used as a source expression for a page field. | Ein Blob auf einer Seite hat keinen Zweck, daher kann ein Fehler hier Irrtümer vermeiden. |
AW0005 | Actions should use the Image property. | Ein Bild sollte nicht implizit aufgerufen werden, und macht die Interface für den Benutzer leichter zu bedienen. |
AW0009 | Using a Blob with subtype Bitmap on a page field is deprecated. Instead use the Media/MediaSet data types. | Da dies eine veralterte Methode ist und wenig Aufwand zum Beheben macht, kann dies einen Fehler aufrufen. |
Id | Description | Justification |
---|---|---|
LC0001 | FlowFields should not be editable. | FlowFields sind Read-Only, und eine Änderung eines Feldes auf der UI sollte eine Änderung der Daten ausführen, was standardmäßig nicht der Fall ist. Ausnahmen sollten ein Kommentar enthalten. |
LC0002 | Commit() needs a comment to justify its existence. Either a leading or a trailing comment. | Ein Kommentar macht den Code leichter verständlich und macht Entwickler mehr aufmerksam, welche Stellen Commits benötigen. |
LC0013 | NotBlank should be set explicitly for tables with a single-field primary key. | Implizite Eigenschaften wie NotBlank sollten vermieden werden. Dies macht das Verhalten der UI leichter nachvollziehbar. |
LC0014 | The Caption of permissionset objects should not exceed the maximum length. | Die Länge des Kommentars kann trivial mit MaxLength gesetzt werden. |
LC0017 | Writing to a FlowField is not common. Add a comment to explain this. | Siehe LC0001, unorthodoxe Methoden sollten erklärt werden. |
LC0024 | Procedure declaration should not end with semicolon. | Ist trivial zu beheben und vermeidet ungewünschte Änderungen bei Cleanup-Jobs. |
LC0028 | Event subscriber arguments now use identifier syntax instead of string literals. | Ist trivial zu beheben und vermeidet ungewünschte Änderungen bei Cleanup-Jobs. |
Ahoi, für mich passt das alles, kann als Fehler hochkommen.
Bitte meldet Anfragen für Änderungen des Rulesets hier. Die Tabellen und Details findet ihr hier: