35 linii, 55 linii, 100 linii, 300 linii? Kiedy powinieneś zacząć go rozbijać? Pytam, ponieważ mam funkcję z 60 liniami (łącznie z komentarzami) i myślałem o jej rozbiciu.
long_function(){ ... }
w:
small_function_1(){...}
small_function_2(){...}
small_function_3(){...}
Funkcje nie będą używane poza long_function, tworzenie mniejszych funkcji oznacza więcej wywołań funkcji itp.
Kiedy podzieliłbyś funkcję na mniejsze? Czemu?
- Metody powinny robić tylko jedną logiczną rzecz (pomyśl o funkcjonalności)
- Powinieneś być w stanie wyjaśnić metodę w jednym zdaniu
- Powinien pasować do wysokości twojego wyświetlacza
- Unikaj niepotrzebnych kosztów (komentarzy, które wskazują na oczywiste ...)
- Testowanie jednostkowe jest łatwiejsze w przypadku małych funkcji logicznych
- Sprawdź, czy część funkcji może być ponownie wykorzystana przez inne klasy lub metody
- Unikaj nadmiernego sprzężenia międzyklasowego
- Unikaj głęboko zagnieżdżonych struktur kontrolnych
Dziękuję wszystkim za odpowiedzi , edytuj listę i zagłosuj na poprawną odpowiedź, wybiorę tę;)
Robię teraz refaktoryzację, mając na uwadze te pomysły :)