Miesiąc: Styczeń 2012

Piramida potrzeb tworzenia oprogramowania

Oryginał tutaj. Bardzo spodobał mi się obrazek: Osobiście nie wiedziałbym, jaką wartość przyporządkować środkowym trzem. Gdy następnym razem stanę przed problemem wyboru, będę wiedział, że Continous Integration (Deployment) jest ważniejsze od Maintanable i Refactorable.

#if DEBUG

Poniższy kawałek kodu jest celowo wklejony jako obrazek. Ważne jest tutaj, wyszarzenie instrukcji znajdujących się po warunku #else. Oznacza to, że teraz jesteśmy w trybie DEBUG i preprocesor wytnie to co jest dla RELEASE i kompilator tego nawet nie zobaczy. Nie będzie to nawet…

Jeden komentarz = jeden problem

Lepiej nie umieszczać dwóch komentarzy (problemów, pytań) w jednej linii oddzielonej przecinkiem. Nawet gdy są powiązane (One zawsze są powiązane, przecież dotyczą tej samej linijki kodu która jest pod nimi). Sugeruje to tylko jeden problem, podczas gdy w rzeczywistości może ich być więcej (szybciej…

Książkowe podsumowanie ubiegłego roku c.d.

W poprzednim wpisie zapomniałem o jednej, jakże ważnej pozycji: Framework Design Guidelines 🙂 Podczas czytania tej książki zapisałem rekordową, jak dla mnie, liczbę kartek A4. Kilka rozdziałów było mi już dobrze znanych z MSDNowych artukułów (np Exceptions), ale dobrych artykółów nigdy za wiele. Rozszerzyło…

Książkowe podsumowanie ubiegłego roku

Takie małe podsumowanie. W ubiegłym roku udało mi się przeczytać takie oto fachowe książki: Agile Programowanie zwinne 🙂 Rozdziały 5. Refaktoryzacja oraz 6. Epizod z życia programistów bardzo mnie poruszyły. Są jakby streszczeniem tej książki dla mnie. Przestałem się bać zmieniać kod, nauczyłem się,…

Cachowanie wyniku metody GetStatus() a micro-optymalizacja

Mam klase SomeDBStore, która pobiera i obrabia dane z jakiegoś źródła. Najpierw chcemy poznać czy te dane są użyteczne korzystając z funkcji GetStatus() zwracającej enuma StoreStatus. W aktualnym kodzie akurat jest tak, że funkcja GetStatus() jest wywoływana kilkukrotnie na tym samym obiekcie. Pomyślałem więc,…