Każdy kod można usprawnić / napisać lepiej. Bez wyjątku. Nie ma kodu idealnego (jak już zresztą kiedyś pisałem). Jednak w pewnym momencie trzeba przestać, tzn. nie można dopieszczać w nieskończoność jednego kawałka kodu zaniedbując wszystko dookoła. Ale nie oznacza to, że powinniśmy akceptować każde poplątane ścierwo jakie wyjdzie spod naszych skrzypiących paluchów i mówić "spoko, jest wystarczająco dobrze".
Sztuka programowania 4444 dni, 19 godzin temu 255 źrodło rozwiń
Kolejna cześć artykułu z cyklu “Dobre i złe praktyki”: http://msdn.microsoft.com/pl-pl/library/dobre-i-zle-praktyki-w-c-sharp–czesc-4.aspx
Sztuka programowania 4477 dni, 17 minut temu 112 źrodło rozwiń
Kontrowersyjny esej o kodzie czytelnym, część 4: komentarze Komentarze w kodzie metod pomagają nam zrozumieć, co miała na myśli osoba implementująca algorytm realizowany przez daną metodę: dlaczego ten if wygląda tak i po co jest ta pętla. Komentarze pozwalają też na oznaczenie etykietami pewnych logicznych fragmentów metody, które stanowią spójną całość. Takie fragmenty są też często zamykane w regiony. Zarówno komentarze, jak i regiony, wewnątrz metod są znakiem, że kod potrzebuje refaktoryzacji. Sam ...
Kontrowersyjny esej o kodzie czytelnym, część 3: język w kodzie Wybierz jeden język nazewnictwa elementów kodu w projekcie lub zespole. Całość kodu w ramach jednego projektu lub tworzonego przez jeden zespół powinna stosować jeden i ten sam język nazewnictwa elementów kodu (zmiennych, klas itp.). Dlaczego? Aby osoba czytająca kod, nawigując od klasy do klasy, nie musiała przestawiać swojego sposobu myślenia. Jak wszyscy programiści doskonale wiedzą, przełączanie kontekstu jest kosztowne. Należy go więc ...
Architektura 5515 dni, 17 godzin, 39 minut temu 43 źrodło rozwiń
Testy jednostkowe pełnią dwie bardzo ważne role: poprawiają design aplikacji sprawdzają czy kod jest poprawny
Ile klas z którymi się spotkałeś miały sufiks "Manager" (np. ConnectionManager, SessionManager)? Każdy większy system wydaje się być pełen takich klas - SessionManager, ConnectionManager, PolicyManager, QueueManager, UrlManager, ConfigurationManager, albo co jeszcze smutniejsze EJBManager. Słowa "manager" i "manage" posiadają przynajmniej dziesięć różnych znaczeń - od "stworzyć coś i utrzymywać w zgodzie z wytycznymi" do "osiągnąć określony cel". Pamiętam jak pewnego dnia recepcjonistka przemianowała si...
Każdy dobry programista wie, że po skończeniu pracy z obiektem klasy implementującej interfejs IDisposable należy wywołać metodę Dispose (jawnie bądź nie jawnie). Dlatego kiedy ostatnio zobaczyłem kod, w którym programista beztrosko raz po raz tworzy ikonę, a następnie radośnie o niej zapomina powodując wzrost liczby obiektów GDI przez usta przeszły mi dość niecenzuralne słowa.