Ich fange gerade erst mit der funktionalen Programmierung an und frage mich, wie ich meinen Code richtig kommentieren kann.
Es erscheint ein wenig überflüssig, eine kurze Funktion zu kommentieren, da die Namen und Unterschriften bereits alles enthalten sollten, was Sie wissen müssen. Das Kommentieren größerer Funktionen erscheint ebenfalls ein wenig überflüssig, da sie im Allgemeinen aus kleineren selbstbeschreibenden Funktionen bestehen.
Wie kann man ein Funktionsprogramm richtig kommentieren? Sollte ich den gleichen Ansatz wie bei der iterativen Programmierung verwenden?
functional-programming
comments
Tom Squires
quelle
quelle
Antworten:
Der Funktionsname sollte sagen, was Sie tun.
Die Implementierung zeigt Ihnen, wie Sie es tun.
Erkläre anhand von Kommentaren, warum du das tust.
quelle
Es auf jeden Fall ist ein Punkt in dieser Frage, als funktionalen Programme in der Regel auf einer anderen Abstraktionsebene als zwingend notwendig , diejenigen sind.
Aus diesem Grund ist ein anderer Dokumentationsstil erforderlich. In iterativen Programmen kann ein Kommentar hilfreich sein, wie im folgenden Code, da sich das Wesentliche des Codes hinter dem Boilerplate verbirgt:
Aber das ist eindeutig Unsinn in einer funktionalen Sprache:
Besser:
quelle
Der Grund, warum wir eine Funktion dokumentieren, ist, dass Leser den Funktionskörper nicht lesen wollen oder können. Aus diesem Grund sollte man große Funktionen auch in funktionalen Sprachen dokumentieren. Es spielt keine Rolle, ob es einfach ist, die Funktionsweise der Funktion anhand ihrer Implementierung zu verstehen.
quelle
Funktionen sollten kommentiert werden, wenn der Funktionsname und der Parametername alleine nicht ausreichen, um den Vertrag zu spezifizieren .
Kurz gesagt, der Vertrag definiert, was die Funktion erwartet und was sie garantiert. Streng genommen
GetEmployeeList
darf sich ein Verbraucher dieser Funktion nicht auf dieses Verhalten verlassen , wenn er eine sortierte Liste zurückgibt, dies jedoch weder im Funktionsnamen noch im Kommentar sagt. Es ist ein undokumentiertes Implementierungsdetail, und der Autor vonGetEmployeeList
hat die Freiheit, dieses Verhalten jederzeit zu ändern.quelle
Der Kommentar selbst sollte keine alternative Beschreibung zu der Funktionsweise des Codes enthalten (die tatsächlich durch den Code selbst ausgedrückt wird), sondern vielmehr eine Erläuterung der Gründe, warum der Code so geschrieben ist, wie er ist.
Trotzdem sehe ich keinen Grund, warum ein Kommentar in einer funktionalen Sprache per se anders sein sollte .
quelle
Ich gehe genauso vor, um meinen gesamten Code zu dokumentieren:
Wenn der Name und die Typunterschrift Ihnen nicht genau sagen, was die Funktion tut, machen Sie es normalerweise falsch.
quelle
Mit 25 erinnern Sie sich viel besser an Dinge. Wenn Sie älter werden und mit mehreren Systemen mit Legacy-Code arbeiten (ja, der Code, den Sie heute schreiben, wird in 10-15 Jahren Legacy-Code sein), kann es sehr hilfreich sein, wenn Kommentare vorhanden sind.
quelle