Month: November 2013

Line by line

Posted on

A code

var ints = GetInts(categories, categoryId);
            
return ints.Reverse().Select(p => categories[p].Name);

Good code

var ints = GetInts(categories, categoryId);
            
ints = ints.Reverse();

return ints.Select(p => categories[p].Name);

Good in terms of readibility

Advertisements

Logowanie błędów (kod)

Posted on

private static readonly ILog Logger = LogManager.GetLogger("ProductImportLogger");
private static readonly ILog _logger = LogManager.GetLogger(typeof (SitePropertyContentAreaControl));
private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

Dlaczego:
* korzystanie ze statycznego LogManager
* wyciąganie po nazwie – “ProductImportLogger”, albo trzy inne sposoby
* static

Autocomplete

Posted on

Implementująć autocomplete trzeba pamiętać o dwóch rzeczach:
a) Delay (lepsze słowo). Nie wysyłać requestu na event keyup. gdy ktoś szybko wpisuje “house” to nie powinno się wysyłać “h”, później “ho”, “hou”, etc. każdy nowo wpisana literka powinna kasować timer który wyśle request dopiero po sekundzie (powiedzmy) bezczynności.
b) Kolejkowanie. Wpisane zostało “house”, poszedł request o “house”, zostało skasowane trzy literki i dopisane do “hope”, Przyszedł request z “hope” a następnie spóźniony request z “house” który nadpisze odpowiedź z “hope”. Trzeba się przed tym zabezpieczyć.

Logowanie

Posted on Updated on

Ustawienia logowania mogą się zmienić na innych środowiskach gdy korzystamy z transformation.

skracanie nazw

Posted on

catch (InvalidOperationException exception)
cReference

Ten sam kod widziany różnymi oczami

Posted on

Ktoś zwraca uwagę na TODO,
Ktoś zwraca uwagę na zakomentowany kod,
Kogoś razi jedno, kogoś razi coś innego,
Ktoś częściowo programuje w http://en.wikipedia.org/wiki/Whitespace_(programming_language).
Ktoś ma filtry które robią Replace(“\n+”, “\n”). i [kod] jest tożsamy z [kod].
Enviroment.NewLine
jeśli dla kogoś nie jest to problem to … dalej już łatwo nie zwracać na nic uwagi.

Jak logować pospolite błędy

Posted on Updated on

private static readonly ILog Logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

ILog – interfejs z biblioteki log4net. Uzależniamy się od log4net, nie jest to takie złe. Czasem tworzy się własne [kod]

Nie mam tutaj jednoznacznej preferencji. W drugim przypadku gubimy możliwość pobrania loggera per klasa.

Jak to Bartek zrobił, czy to nie za dużo?