Interesujące jest to, że czytelność w odniesieniu do języka naturalnego mierzy się szybkością czytania i rozumienia. Wydaje mi się, że rzeczywiście można zastosować prostą regułę, jeśli określony komentarz kodu nie poprawi tej właściwości, można tego uniknąć .
Dlaczego komentarze
Chociaż komentarz do kodu jest formą osadzonej dokumentacji, w zaawansowanych językach programowania istnieje wiele sposobów na uniknięcie zbędnego „nadmiernie udokumentowanego” programowania (znaczącego kodu) przy użyciu elementów samego języka. Niewłaściwym pomysłem jest również przekształcenie kodu w zestawienia z podręcznika programowania, w którym poszczególne stwierdzenia są dosłownie wyjaśnione niemal w sposób tautologiczny (pamiętaj przykład „/ * przyrost i o 1 * /” w już dostarczonych odpowiedziach), dzięki czemu takie komentarze są istotne tylko dla programistów niedoświadczonych w języku.
Niemniej jednak intencją jest skomentowanie „niedokumentowanego” (ale bez znaczenia) kodu, który jest naprawdę „źródłem wszelkiego zła”. Samo istnienie „nieudokumentowanego” kodu jest złym sygnałem - albo jest to nieuporządkowany bałagan, albo zwariowany hack mistycznego utraconego celu. Oczywiście wartość takiego kodu jest co najmniej wątpliwa. Niestety zawsze istnieją przykłady, kiedy rzeczywiście lepiej jest wprowadzić komentarz do sekcji (wizualnie zgrupowanych) sformatowanych wierszy kodu niż zawinąć go w nowy podprogram (pamiętaj o „głupiej konsystencji”, która „jest hobgoblinem małych umysłów”) .
Czytelność kodu! = Komentarze do kodu
Czytelny kod nie wymaga adnotacji w komentarzach. W każdym konkretnym miejscu kodu zawsze znajduje się kontekst zadania, które ten konkretny kod ma wykonać. Jeśli brakuje celu i / lub kod robi coś tajemniczego = unikaj go za wszelką cenę. Nie pozwól, aby dziwne włamania wypełniły Twój kod - jest to bezpośredni wynik połączenia wadliwych technologii z brakiem czasu / zainteresowania, aby zrozumieć podstawy. Unikaj mistycznego kodu w swoim projekcie!
Z drugiej strony, Czytelny program = kod + dokumentacja może zawierać wiele uzasadnionych sekcji komentarzy, np. W celu ułatwienia generowania dokumentacji „komentarze do API”.
Przestrzegaj standardów stylu kodu
Zabawne jest to, że nie chodzi o to, dlaczego komentować kod, chodzi o pracę zespołową - jak tworzyć kod w wysoce zsynchronizowanym stylu (który wszyscy inni mogą czytać / rozumieć). Czy przestrzegasz w swojej firmie standardów stylu kodu? Jego głównym celem jest unikanie pisania kodu, który wymaga refaktoryzacji, jest zbyt „osobisty” i „subiektywnie” dwuznaczny. Sądzę więc, że jeśli dostrzeże się konieczność korzystania ze stylu kodu, istnieje cały szereg narzędzi, jak poprawnie go zaimplementować - zaczynając od edukacji ludzi, a kończąc na automatyzacji kontroli jakości kodu (liczne wskazówki itp.) I (rewizja) zintegrowane systemy kontroli).
Zostań ewangelistą czytelności kodu
Jeśli zgadzasz się, że kod jest czytany częściej niż jest zapisywany. Jeśli jasne wyrażenie idei i jasne myślenie jest dla Ciebie ważne, bez względu na to, jaki język jest używany do komunikacji (matematyka, kod maszynowy lub staroangielski) .. Jeśli Twoim zadaniem jest wyeliminowanie nudnego i brzydkiego sposobu alternatywnego myślenia ... (przepraszam , ostatni pochodzi z innego „manifestu”) .. zadawaj pytania, inicjuj dyskusje, zacznij rozpowszechniać prowokujące do myślenia książki na temat czyszczenia kodu (prawdopodobnie nie tylko coś podobnego do wzorców projektowych Becka, ale bardziej podobne do wspomnianych już przez RC Martina ), które odnoszą się do dwuznaczności w programowaniu. Dalej znajduje się punktator kluczowych pomysłów (cytowany z książki O'Reilly o czytelności)
- Uprość nazywanie, komentowanie i formatowanie dzięki poradom, które dotyczą każdego wiersza kodu
- Udoskonal pętle, logikę i zmienne programu, aby zmniejszyć złożoność i zamieszanie
- Problemy z atakiem na poziomie funkcji, takie jak reorganizacja bloków kodu w celu wykonania jednego zadania na raz
- Napisz skuteczny, dokładny i zwięzły kod testowy, a także czytelny
Wycinanie „komentowania” pozostawia wiele do zrobienia ( wydaje mi się, że pisanie kodu, który nie wymaga komentarzy, jest świetnym ćwiczeniem!). Nazywanie semantycznie znaczących identyfikatorów to dobry początek. Następnie ustrukturyzuj swój kod, grupując logicznie połączone operacje w funkcje i klasy. I tak dalej. Lepszy programista to lepszy pisarz (oczywiście przy założeniu innych umiejętności technicznych).