W programowaniu obiektowym oczywiście nie ma dokładnej reguły dotyczącej maksymalnej długości metody, ale nadal uważałem, że te dwa cytaty są ze sobą sprzeczne, więc chciałbym usłyszeć, co myślisz.
W czystym kodzie: Podręcznik zwinnego wytwarzania oprogramowania Robert Martin mówi:
Pierwszą zasadą funkcji jest to, że powinny być małe. Drugą zasadą funkcji jest to, że powinny one być mniejsze. Funkcje nie powinny mieć długości 100 linii. Funkcje rzadko powinny mieć długość 20 linii.
i podaje przykład z kodu Java, który widzi od Kent Beck:
Każda funkcja w jego programie miała tylko dwie, trzy lub cztery linie. Każda z nich była oczywista. Każdy opowiedział historię. I każdy prowadził cię do następnego w przekonującej kolejności. Tak krótkie powinny być twoje funkcje!
Brzmi świetnie, ale z drugiej strony w Code Complete Steve McConnell mówi coś zupełnie innego:
Należy pozwolić, aby rutyna rozwijała się w sposób organiczny do 100-200 linii, dekady dowodów wskazują, że procedury o takiej długości nie są bardziej podatne na błędy niż krótsze.
I podaje odniesienie do badania, które mówi, że rutyny 65 lub dłuższe są tańsze w opracowaniu.
Więc chociaż istnieją rozbieżne opinie na ten temat, czy istnieje dla Ciebie funkcjonalna najlepsza praktyka?
switch
Oświadczenie z 100 case
warunkach jest bardziej utrzymaniu niż 10 poziomów if
wypowiedzi zagnieżdżone wewnątrz siebie.