Można się z Balcerowiczem nie zgadzać, ale wygląda że jego obawy z czasów premierowania Buzka właśnie się spełniają - uznaliśmy w połowie drogi do dobrobytu, że już jesteśmy Zachodem, i zaczęliśmy w nadmiarze (bo czymże jest nasz nowy-stary wiek emerytalny) konsumować owoce dotychczasowych wyrzeczeń:
Było w Balcerowiczu wiele liberalnej wiary, może wręcz fanatyzmu. Jednak nie tylko. U podstaw jego myślenia leżała zimna diagnoza, najbardziej brutalna, jaką w Polsce postawiono. Że większość biednych
“Funkcje nie powinny mieć 100 wierszy długości. Funkcje powinny mieć właśnie nie więcej niż 20 wierszy. [...] Poziom wcięć w funkcji nie powinien przekraczać dwóch. [...]
@FEAofTruss: Dodałbym jeszcze, funkcje powinny być testowalne. Dobrze od razu pomyśleć jak będzie wyglądał unit test. Właśnie pisząc testy czesto też dzieli się funkcje na mniejsze.
Jednak jest jedno "ale". W uproszczeniu powiem, że skoro funkcja ma 20 linii, to znaczy, że wykonuje 20 rzeczy (trzeba odliczyć nawiasy itp, ale upraszczam). To powoduje często błędne zrozumienie SRP i przesadzone rozdrobnienie kodu. Więc jak ma robić jedną? Otóż brakuje tutaj pojęcia poziomu abstrakcji. Funkcja (lub ogólnie również klasa, metoda, pakiet
“Ludzie często nie zmieniają nazw elementów z obawy, że inni programiści będą mieli zastrzeżenia. [...] Prawdopodobnie zaskoczymy kogoś, gdy zmienimy nazwę, podobnie jak w przypadku innych usprawnień kodu, ale nie powstrzymuje to nas przed dokonywaniem zmian.”
@FEAofTruss: A teraz wyobraź sobie, że każdy zacznie zmieniać nazwy na jego zdaniem "bardziej pasujące". Kod będzie zmieniany w tą i w tamtą aż do posrania i wszystkie MD polecą na refaktoring :)
@FEAofTruss: @chopak: zmienianie nazw modułów czy jakichś podstawowych klas oczywiście stworzy bałagan i tego lepiej nie robić. Ale poprawianie np. zmiennych które są widoczne w jednym miejscu jak najbardziej jest ok. W większych projektach wiele klas ruszanych jest nawet raz na kilka miesięcy, więc po zmianie nazwy zmiennej nikt nie będzie tym później zaskoczony bo i tak nie będzie pamiętał co tam było, ani nie będzie co chwila
“W hipotetycznej aplikacji o nazwie Luksusowa stacja benzynowa nie należy prefiksować każdej klasy skrótem LSB. Po prostu będziemy mieli przeciwko sobie używane narzędzia. Wpisujemy L, naciskamy klawisz dokańczania i otrzymujemy długą na kilometr listę wszystkich klas w systemie.”
@Crosshairs: Argumentum ad wiekum zawsze spoko :P A mem odnosi się do tego, że często chorym ludziom mówi się, że choroba i cierpienie to część boskiego planu :P
Jestem na porodówce... Czekam na moją ukochaną żonę i świeżo narodzonego synka... Strasznie telepią mną nerwy... Dajcie z 10 plusów żebym wiedział, że nie jestem sam Miraski! ᕙ(⇀‸↼‶)ᕗ
“Osobiście pozostawiam nazwy interfejsów bez dekoracji. Początkowe I, tak częste w istniejącej bazie kodu, jest w najlepszym przypadku zakłóceniem, a w najgorszym nośnikiem zbyt dużej ilości informacji. Nie chcę, aby moi użytkownicy wiedzieli, że przekazuję im interfejs.”
Dla Ciebie jako użytkownika interfejsu jest bardzo wszystko jedno, co dostaniesz pod spodem. To, co Ciebie interesuje to fakt, że rzecz, którą dostajesz wyraża pewne zachowanie.
Na przykład: Jeżeli masz interfejs Printable z metodą print() to Tobie obojętne jakiego typu obiekty do Ciebie przychodzą. Mogą przyjść PDFy, obrazki, pasta o serwerowni. Tak długo jak każdy z tych obiektów obsługuje Printable to będzie traktowany kompletnie jednakowo.
"W rzeczywistości stosunek czasu spędzanego na czytaniu do czasu spędzanego na pisaniu jest jak 10:1. Stale czytamy starszy kod, jest to część pracy przy pisaniu nowego."
Mirki wiecie, że te wszystkie wzroce projektowe w programowaniu powstały na podstawie wzorców w architekturze? Serio! Ale tam im średnio wyszło bo to Autryjak chciał wprowadzić a jak wiadomo polotu i kreatywności u nich zero. Jednak w programowaniu się udało. I tak sobie myślę, czemu by tak nie wrócić do korzeni?
Programowanie mi się znudziło - który raz można tworzyć kolejnyzajebistycontrollerktorywywoluje_CRUD? W Javie nie miałem już nic do
#nosaczsundajski #nosacz #polak #heheszki
źródło: comment_bioA1h7AP5mJmHMUnuPZZrEfTcUKUJTg.jpg
PobierzKomentarz usunięty przez autora