4
Change AL language syntax to be case sensitive.

However check for name collisions without case, e.g. if I would create two procedures insertNewRecord and InsertNewRecord only one would be allowed.

Conversions using old txt2al and copy-paste programming usually result in a lot of code looking like this:

IF Item.FINDSET THEN
REPEAT
Item.updateSmth(...); // function name is actually UpdateSmth
// new change here
if SomeCondition then begin
Item.Validate(Something, Something);
Item.Modify();
end;
UNTIL Item.NEXT = 0;

Which is ugly and slightly less readable.
Also I see actions written like this:

Action("Some action")
{
Caption = "Some action";
}

using "Action" instead of "action".

And etc.

Tools like AL Variable Helper (https://marketplace.visualstudio.com/items?itemName=rasmus.al-var-helper) exist but only can fix keyword casing in one file but not without other problems like casing RecordRef.Field to RecordRef.field, not casing variable/function/object/enum names correctly, etc.
And also it is not clear how many places in code have incorrect casing. I can do search using regex [A-Z]{2,} but that also catch prefixes and suffixes for names.

I tried writing analyzer for this this purpose but that got complicated realy fast and there is no guarantee that it handles every possible case. Support for it in language would be better option in my opinion.
Category: Development
STATUS DETAILS
Needs Votes