MODULY BEST PRACTICES.docx
Zasady pisania komponenetów
- Controller kod c#
- Przechwytywanie errorów :
Response.StatusCode = 500;
return Content(ex.Message.ToString()); - nazewnictwo camelCase np document.documentItem, offerItem wyjatkimi jest ID
- Przechwytywanie errorów :
- baza danych
- pola slownikowe koncza sie na ID , pola daty na DATE
- nazewnictwo camelCase np document.documentItem, offerItem wyjatkimi jest ID
- widoki (cshtml
- daty zwracane generowane automatycznie po stronei bazy danych powinny byc ubrane w klasy utc
- jeżeli w tabeli znajduje się wartość num wtedy nagłówek kolumny także do prawej wyrównany
- wyświetlamy tylko moddate nigdy adddate
- ostatnia kolumna zawiera jeden z 2 wariantów
- <td class="nw num">@x.modUsername (@cc.dict.getGroupValue(x.groupID))</td>
- Nazwy kolkmn takie jak nazwy danych
- Jeżeli sa proste dane np. indeks i nazwa wtedy należy zlaczyc zapytanie
- Procedura na liste structur
- Tlumaczenia
- dodawaca tlumaczenia przez interfejs po zrobineiu na pl
- resourcekey nie moga miec spacji “"Add structure"._localize() -zle “structureAdd” -dobrze
- nazwy kolumn musza byc takie jak nazwy danych czyli “added by” = zle
- Błędy i komunikaty
- Wywołanie błędu ze strony kodu c#
Response.StatusCode = 500;
return Content(ex.Message.ToString()); - Status CODE
- 403 - brak uprawnieni
- 500 - blad apliakcji
- Wywołanie błędu ze strony kodu c#
- nazewnictwo (baza danych c#)
- camelCase np
- document.documentItem,
- offerItem
- eventTypeID -WYJATEK (w bazie danych słowniki guidowe kończą się na ID) pozostałe bez ID np currency
- eventNR - WYJATEK
- camelCase np
- widoki (cshtml)
- daty UTC zwracane (genwerowane automatycznie po stronei bazy danych) powinny byc ubrane w klasy utc
- jezeli komponent jest wywolywany w innym komponencie @Html.Action("stockBalance", "s") wtedy wymagany ejst ubranie go w <div class=”stockbalance” data-compoenent=”stockbalance”> - w innych przypadkach jest to generowane automatycznie
- Tlumaczenia
- dodawaca tlumaczenia przez interfejs po zorobieniu na pl
- resourcekey nie moga miec spacji “"Add structure"._localize() -zle “structureAdd” -dobrze
- nazwy tlumaczen i labelow musza musza byc takie jak nazwy pol w bazie danych
- REsponsive > przyklad firmlist
- filtry,więcej - niewidoczne hidden-phone
- kolumny max 2 najwazniejsze widoczne reszta hidden phone
W Kodzie nie moze byc GUIDOW stringowych nalezy dodawac do const jesli gdzies stosujemy guida z opisem np w orderline + komentarz przy guidzie co to jest