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
  • 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


  • 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
  • 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