Best Practice Check v Dynamics AX si stěžuje, pokud použijete určitá slova jako identifikátory, protože mohou být v budoucích verzích použita jako klíčová slova. Například pokud nazvete nějakou proměnnou namespace, dostanete následující chybu v Best Practices:
The name namespace will be used as a reserved word in a future release.
= Jméno namespace bude v nějaké verzi použito jako klíčové slovo.
Ačkoli Microsoft říká “bude použito”, já bych to četl jako “může být použito”. Nicméně to stále stojí za pozornost – ukazuje to, co Microsoft zvažuje, že implementuje (nebo zvažoval, protože stejný seznam existoval už v AX2009 a plány se mezitím mohly změnit).
Zde je kompletní seznam těchto slov:
- As
- Attribute
- Enum
- Foreach
- Friend
- In
- Instance
- Internal
- Long
- Is
- Module
- Namespace
- Native
- Out
- Override
- Readonly
- Ref
- Unique
- Unsigned
- WebService
- XMLRoot
As a Is už jsou s námi – byly do X++ přidány v AX2012.
Nemám žádné informace o tom, jaké změny se plánují do další verze X++, ale některá z těchto klíčových slov odkazují na koncepty, které jsou momentálně v AX neznámé: sestavení (nebo jiné balíčky), jmenné prostory a podobně. Přestože by bylo možné vytvořit nějaké unikátní řešení jen pro Dynamics AX/X++, mnohem lepší smysl dává využití toho, co už existuje: .NET. Dynamics AX se tímto směrem posouvá už řadu let, otázka je, kde to skončí.
Já věřím (a doufám), že X++ bude přeměněno na další .NET jazyk a dokonce věřím, že to může být celkem brzy. Už máme způsob, jak kompilovat X++ do CIL (ačkoli to má v tuto chvíli daleko k “normálnímu” kompilátoru) a s pomocí Code Upgrade Service bude reálné upgradovat obrovské množství existujícího kódu.