Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]11679[/thread]

Warum beim Programmieren kommentieren?



<< >> 9 Einträge, 1 Seite
pktm
 2008-04-22 00:46
#108663 #108663
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hey!

Ich hätte gerne mal eine Umfassende Sammlung von Argumenten Pro (und Contra?) zum Thema "Warum soll ich meinen Quellcode schon während der Entwicklung kommentieren?"

Geläufige Ausreden, die ich immer wieder höre, sind z.B.:
- der Code ist doch selbsterklärend
- der ist doch kommentiert...:
Code: (dl )
1
2
3
4
# rechne (<-- der MEGA-KOMMENTAR SCHLECHTHIN ODER?)
sub rechne {
# rechne irgendwas
}


- what was hard to write should be hard to understand
- was weis ich denn was der [irgendwoher wil zusammenkopierte] Code macht?

Grüße, pktm
http://www.intergastro-service.de (mein erstes CMS :) )
lichtkind
 2008-04-22 01:44
#108664 #108664
User since
2004-03-22
5697 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
kommentiert codeblöcke erleichtern die navigation. wenn ich später was dranflansche, das ich weiss in welchen block das kommt damit ich alles wiederfinde.

gute namen für var und sub ist ja auch ne art kommentierung und macht vieles überflüssig ja, aber trotzdem ich kommentiere eigentlich gerne. nicht zu viel aber auch zur erinnerung wo etwas noch fehlt oder wozu man etwas geschrieben hat oder ab wo welcher teil der API anfängt da ich manche module habe wo subs in gruppen sind die eine API zu verschiedenen teilen bilden.
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
pktm
 2008-04-22 01:52
#108665 #108665
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Mir wurde mal der wertvolle (und das meine ich ernst) Rat gegeben, nicht zu kommentieren, was der Code macht, sondern warum er etwas macht. Also zu welchem Zweck, was er mit der Eingabe macht usw.
http://www.intergastro-service.de (mein erstes CMS :) )
lichtkind
 2008-04-22 02:50
#108667 #108667
User since
2004-03-22
5697 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
ja sagt damian auch, find ich oft auch sinnvoll.
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
topeg
 2008-04-22 07:53
#108674 #108674
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Für mich gibt es mehrere Arten von Kommentaren.
Den "strukturellen Kommentar":
Code: (dl )
###### Ein- Ausgabe ######

Der ist für mich sehr wichtig, da ich mich leicht in meinem eigenen Code verirre und ich nicht mehr weiß, wo ich was stehen habe.

Den "beschreibenden Kommentar" in dem ich erkläre, warum ich etwas mache.
Code: (dl )
1
2
# hier wird die Codefunktion sinnvoll erklährt,
# obwohl das nicht immer klappt.

Der ist sinnvoll, da man leicht vergisst warum man etwas auf eine bestimmte Weise macht. Und Später ist es leichter den Code zu ändern, wenn einem eine bessere Methode einfällt.

Und natürlich die Schnittstellenbeschreibung (mit pod), in dem ich erkläre was die Funktionen machen. Schreibe ich meist zusammen mit den Funktions- und Klassenrümpfen, damit ich später selber noch weiß was in der Funktion stehen muss und das sie zurück liefert. meist Rahmen ich die pod Doku mit einem strukturellen Kommentar ein, damit ich beim programmieren nicht darüber stolper
lux
 2008-04-22 07:55
#108675 #108675
User since
2007-09-15
104 Artikel
BenutzerIn
[Homepage]
user image
pktm+2008-04-21 22:46:55--
Ich hätte gerne mal eine Umfassende Sammlung von Argumenten Pro (und Contra?) zum Thema "Warum soll ich meinen Quellcode schon während der Entwicklung kommentieren?"


Du möchtest keine Liste Pro/Contra dokumentieren, oder? Du möchtest die Frage beantwortet haben, warum das während der Entwicklung passieren soll.

Contra:
- Keine Zeit zum Kommentieren. (Nicht meine Meinung, höre ich aber manchmal).

Pro:
- Designentscheidungen werden transparent. Warum habe ich zum Zeitpunkt des Codens mich für einen bestimmten Algorhythmus entschieden.
- Erfahrungsgemäß wird im Nachhinein nicht mehr kommentiert.
- Man kann von einem Projekt temporär für ein wichtigeres Projekt (oder Krankheit oder ...) abgezogen werden. Der Status Quo ist dokumentiert.

Dirk
Blog - Podcast - Frau - Hunde
Schweizer Tastaturen kennen kein sz.
renee
 2008-04-22 10:32
#108676 #108676
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Kommentare schreibe ich auch fast keine, dafür eine ausführlichere POD-Dokumentation, da ich dann ausführlicher beschreibe was die Subroutine macht.

Wenn man dann noch versucht, die Subroutinen relativ klein zu halten, so dass nicht zig Sachen in einer einzigen Sub gemacht werden, dann klappt das eigentlich sehr gut. Dann finde ich mich in meinem Code auch noch nach Jahren zurecht...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
pktm
 2008-04-22 13:01
#108699 #108699
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Contra: "das brauche ich sowieso nie mehr"
http://www.intergastro-service.de (mein erstes CMS :) )
#Kein Kommentar
 2008-04-22 18:50
#108742 #108742
User since
2007-06-09
575 Artikel
HausmeisterIn
[default_avatar]
den fehler mach ich auch immer :)

ich will mir irgendein kleines script porgrammieren, ganz schnell und ohne kommentare. ich bastle, bastle und bastle und irgendwann (nach ein paar stunden oder tagen) habe ich den perfekten code, der funktioniert. in ein- oder zwei wochen abstand kann ich mich noch dran erinnern. Nach drei wochen brauche ein teil des scriptes vielleicht für eine ähnliche aufgabenstellung. ich find nichts mehr! ich kann den code wegschmeißen und das script ebenso neu schreiben, bevor ich mich da in ein gewurschel hineinwage... also drei tage in den sand gesetzt!
Gerade weil wir alle in einem Boot sitzen, sollten wir froh sein, dass nicht alle auf unserer Seite sind
<< >> 9 Einträge, 1 Seite



View all threads created 2008-04-22 00:46.