Pisanie własnych funkcji -> zasady profesjonalistów

0

Dzień dobry.

Czy jest w sieci, albo czy jest jakaś książka (może być po angielsku), gdzie byłyby zebrane informacje o fachowym pisaniu funkcji? Po przerwie zawodowego pisania uleciała mi ta umiejętność, w konsekwencji czego moje funkcje są długie i czyta je się koszmarnie, Poszukuję informacji od fachowca(ów).

Dzięki
Michał

5

Słyszałeś o książce Czysty kod Roberta Martina?

3

Po przerwie zawodowego pisania uleciała mi ta umiejętność, w konsekwencji czego moje funkcje są długie i czyta je się koszmarnie

No to połowa sukcesu, jeśli zdajesz sobie z tego sprawę. Po prostu pisz krótsze funkcje i będziesz mieć 90% sukcesu. W czym problem?

Jaka funkcja jest za długa to już kwestia subiektywna. Ja staram się stosować do następujących zasad, które mogą Ci się przydać:

  • funkcja powinna robić jedną rzecz i mieć dobrze określoną odpowiedzialność
  • aby sprawdzić, czy rzeczywiście robi jedną rzecz - piszę jej dokumentację - jeśli da się opisać jednym krótkim zdaniem, to zapewne funkcja jest ok
  • staram się nie przekraczać 10 linii kodu na funkcję (ale to jest miękki limit, nie płaczę jak wyjdzie 12)
  • im więcej zagnieżdżeń, tym funkcja powinna być krótsza; np. jeśli funkcja ma 2 zagnieżdżone pętle, to już nie ma w niej miejsca na inne rzeczy; ale jeśli jest płaska, to zwykle nie przeszkadza jeśli jest długa
  • nie mieszam różnych poziomów abstrakcji w jednej funkcji - np.
    jeśli funkcja dodaje użytkowników do bazy, to nie zajmuje się wyszukiwaniem stringów w pętli
  • staram się ograniczać liczbę parametrów, może nie do jednego jak chce wujek Bob, ale jak mam więcej niż 3 to już się źle na to patrzy i musi być naprawdę dobre uzasadnienie
1

Tutaj znajdziesz kilka pomocnych zasad dotyczących konstrukcji funkcji w najnowszym standardzie C++ (od 11 wzwyż).
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#S-functions

1 użytkowników online, w tym zalogowanych: 0, gości: 1