Best practices pro psaní modulu
1. Nepouzivat custom message , misto nej custom.debug.message - loguje do souboru zvlast neloguje se do sql
2. Nekopirovat a pojmenovavani - udelat standardy konvence pojmenovani
3. Osetrovat null expetions prace s chybama
4. Kdyz se nekde pripojuji rozlisuji mezi rezimem ze studia a z pracoviste > podminky Session.isStudioSessin
5. Propojovani , pripojovaci moduly, myslet na to ze se restartne pracoviste , uklizet, - SessionFinish. I pri prepnuti skriptu.
6. Krome navratove hodnoty je dulezite nastavit I message. Z toho se bere info jak tam ma cekat a zpet na semboxu - posledni zprava
7. Applikace : kdyz neco potrebuju udelat , tak poslu command/objekt. Je to legalnejsi a je tam vsechno zalogovane a bezpecne.
8. V modul chekcer nelogovat !!
Konvence v modulu
Texty v třídě - platí globálně
- Nahoře region Konstanty - do něj dávat všechny stringy - texty. v kódu NESMÍ nikde být text natvrdo.
Například parametry - když xTrace prodáme do jiné země, budete to překládat ? Příklad :
```#region Constants const string ALARM_ALLOW_LIST = "Povolení/zakázání zobrazení seznamu alarmů v aplikaci"; #endregion
m_allowAlarmList = Session.SysParams.GetBoolean(this, "AllowAlarmList", false, ALARM_ALLOW_LIST);
```
Dodržujte syntaxi konstanty velkými písmeny kdy první je [Název modulu]!
-
Regiony - Local variables, init nebo konstruktor - zvláště u větších tříd
-
Nikdy nepište do jednoho souboru více tříd! To je hrozná praxe, které je tu hodně. Nepřispívá to přehlednosti !! Vím že tam toho hodně, ale dál už ot nedělejte. Nebo jen ve vyjímečných případech, kdy odvozená třída nelze a nebude použita jinde. (Typicky : Master-Item)
-
Snažte se maximální čitelnost kódu a jasnost. Nepíšte to pro sebe, ale pro ty co přijdou po vás!!!
Nedelat: zavolat primo funkce ze stromecku NE!!!
Base : Core Moduly
- Moduly : local
- Specialni zakaznicky : Logic MODUL > Zpracovává data, parametry a říká světu kolem sebe, že data zpracoval nebo se o ně hlásí. QUICK-MODUL > Kontroly a rychlé akce * nic složitého nemá HANDLED_DATA
Vytvoření modulu – co ne • Part start nevolat přímo, ale dědit. Některé věci se totiž zavolají jen, pokud je to poděděné z part start