AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Quellcode Kommentieren

Ein Thema von franktron · begonnen am 5. Aug 2014 · letzter Beitrag vom 16. Aug 2014
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.312 Beiträge
 
Delphi 12 Athens
 
#1

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 09:03
In einer Versionsverwaltung wäre das in der Historie. Wenn man den Code liest, interessiert doch nicht mehr, wie oft das mal vor Jahren geblinkt hat und warum. Wenn du überall dieses Vorgehen hast, möcht ich nicht deinen Code lesen, denn der würde wahrscheinlich zu 99% aus altem auskommentierten Code bestehen.
Der Code ist hier natürlich nur ein Beispiel und natürlich steht nicht in jeder Procedure solch ein Kommentar. Meine Frage war ja, wie es im CSV aussieht? Fällt so etwas sofort in's Auge, oder muss ich eine Aktion durchführen um diese Info's zu lesen. Mir hat es schon oft geholfen, daß ich "zufällig" diese Kommentare gelesen habe.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#2

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 09:11
Der Code ist hier natürlich nur ein Beispiel und natürlich steht nicht in jeder Procedure solch ein Kommentar. Meine Frage war ja, wie es im CSV aussieht? Fällt so etwas sofort in's Auge, oder muss ich eine Aktion durchführen um diese Info's zu lesen. Mir hat es schon oft geholfen, daß ich "zufällig" diese Kommentare gelesen habe.
Dazu muss eine Aktion durchgeführt werden. Hat auch seinen Grund, da zu 99% der Zeit diese Information nicht sinnvoll/hilfreich und damit platzraubend ergo kontraproduktiv wäre.
Diese Information als Kommentare in den Code zu setzen ist nur in wenigen Ausnahmen sinnvoll, und entsprechend spärlich sollten diese Kommentare verwendet werden.
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#3

AW: Quellcode Kommentieren

  Alt 15. Aug 2014, 09:28
Der Code ist hier natürlich nur ein Beispiel und natürlich steht nicht in jeder Procedure solch ein Kommentar. Meine Frage war ja, wie es im CSV aussieht? Fällt so etwas sofort in's Auge, oder muss ich eine Aktion durchführen um diese Info's zu lesen. Mir hat es schon oft geholfen, daß ich "zufällig" diese Kommentare gelesen habe.
Dazu muss eine Aktion durchgeführt werden. Hat auch seinen Grund, da zu 99% der Zeit diese Information nicht sinnvoll/hilfreich und damit platzraubend ergo kontraproduktiv wäre.
Diese Information als Kommentare in den Code zu setzen ist nur in wenigen Ausnahmen sinnvoll, und entsprechend spärlich sollten diese Kommentare verwendet werden.
Ich kenne kein Versionskontrollsystem oder eine CSV-IDE Integration sie so etwas kann oder nur in die Nähe käme.
Dazu kann ich gerade mal einen kleinen Kommentar abgeben: Codelens in VS unterstützt nun auch git, das sieht dann im Code so aus:
http://blogs.msdn.com/b/visualstudio...-update-3.aspx
Die Änderungen beziehen sich dann tatsächlich nur auf die Prozedur/Klasse über der dieser Hinweis ist. Man kann dann die commit-Details aufrufen und aus diesen dann wiederum auf ein Datei-Diff zugreifen.

Damit das wirklich weiterhilft, sollte man natürlich kleine Änderungen mit aussagekräftigen Nachrichten machen. Es hilft nichts, wenn man sieht die Prozedur wurde 3 Mal geändert, und die Nachrichten sind "Diverses", "." und "Zeug"

Ich muss jetzt erstmal schauen, wie sinnvoll/praktisch das ganze ist. Zu Kommentaren im Allgemeinen kann ich übrigens noch folgendes Schmuckstück beitragen:
Code:
// Vorsteuerung: 3000 upm entsprechen 10 m/s ==> Faktor 0,3   
   int16_t Vorsteuerung = upm_value / 2; // Faktor 0,25

Geändert von jfheins (15. Aug 2014 um 09:36 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.531 Beiträge
 
Delphi 12 Athens
 
#4

AW: Quellcode Kommentieren

  Alt 15. Aug 2014, 11:16
Zu Kommentaren im Allgemeinen kann ich übrigens noch folgendes Schmuckstück beitragen:
Meinst du das 0,3 ... 0,25 ... oder doch eher 0,5 ?
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#5

AW: Quellcode Kommentieren

  Alt 15. Aug 2014, 11:22
Das ganze Kommentieren?Ja?Nein?Wann?Wieoft? Gedöns hat ja folgenden Hintergrund:
Als Entwickler ist man (wenn man nicht gerade Code produziert) den lieben langen Tag damit beschäftigt, Code zu verstehen. Implementierungsdetails unterhalb des aktuellen Abstraktionsniveaus sind hier hinderlich: Hier mal zwei Beispiele, die genau das gleiche machen:
Delphi-Quellcode:
if not Customers.FindById(customer.ID) then
  Customers.CreateNew(customer);
Delphi-Quellcode:
var
  searchRec : TCustomerSearchRec;
  idFilter : TSearchFilterCriteria;
  newCustomer : TCustomerEntity;

begin
// search the customer by creating a customer search record
  searchRec := TCustomerSearchRec.Create;
// this is the new search filter criteria! really cool stuff. Check it

  idFilter := TSearchFilterCriteria.Create;
// 2013-03-04: JFuddle: [CodeImp] replaced constant field names by definition
// 2013-07-12: MPeck: Yeah, but replace with the correct one, you moron. :-)
  idFilter.Field := Customers.DataDescription.Fieldnames.ID;
  idFilter.Condition := fcoEqual;
  idFilter.Value = customer.ID;

  searchRec.Filter.Add(idFilter);
// now try to find it
  if not Customers.Find(searchRec) then begin
// nope, not found, create a new one
     newCustomer := Customers.CreateEntity;
     newCustomer.Id := customer.Id;
     newCustomer.Name := customer.Name;
     ....
     Customers.Post(newCustomer);
  end;
Das erste versteht man sofort und intuitiv, beim zweiten muss man schon lesen. Klar ist das ordentlich, aber WTF, wen interessieren Details und/oder Kommentare? Wenn ich wissen will, wie neuerdings gesucht wird, gehe ich in die 'Find' Methode rein. Das kostet mich einen Click. Und wenn ich will, wie genau ein neuer Kunde angelegt wird auch.

Wir machen dieses Form des Codelesens 100 mal am Tag. Wenn ich mich jedesmal durch Kommentar und Codearien lesen muss, um das zu verstehen (hier geht das ja noch), dann bin ich genervt, gestresst und viel unproduktiver, als wenn ich mich durch sauberen Code lese, der minimal kommentiert, selbsterklärend und klar strukturiert ist. Ich schaffe mehr, bin produktiver und einfach besser drauf.

Wenn ich kein CVS habe, oder ich unbedingt Revisionsinformationen und codechange-Kommentare im Code vorhalten will, dann benötige ich etwas zum Verbergen (codefolding, regions in der Art) dieser fast immer unnützen Information.

@jfheins: Genau deshalb sagt man ja, das Kommentare (irgendwann anfanfangen zu) lügen oder einfach Mist erzählen.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Quellcode Kommentieren

  Alt 15. Aug 2014, 11:46
Nun einiges von Deinen Kommentarbeispielen würde bei mir unter "Geschwafel" einsortiert, und dafür ist mir meine Zeit wirklich zu schade.

@jfheins:
Da hätten wir einen Grund mal nachzufragen was denn nun eigentlich richtig ist, der Programmierer/Kommentator wußte dies augenscheinlich nicht.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#7

AW: Quellcode Kommentieren

  Alt 15. Aug 2014, 12:05
Nun einiges von Deinen Kommentarbeispielen würde bei mir unter "Geschwafel" einsortiert, und dafür ist mir meine Zeit wirklich zu schade.
Genau. Deshalb plädiere ich ja dafür, das alles wegzulassen. Von den o.g. Kommentaren braucht man imho keinen Einzigen, auch nicht die Historie.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.531 Beiträge
 
Delphi 12 Athens
 
#8

AW: Quellcode Kommentieren

  Alt 15. Aug 2014, 15:53
Wenn ich kein CVS habe, oder ich unbedingt Revisionsinformationen und codechange-Kommentare im Code vorhalten will, dann benötige ich etwas zum Verbergen (codefolding, regions in der Art) dieser fast immer unnützen Information.
Ich hatte jetzt mal versucht sowas in die Unit-Dokumentation aufzunehmen, was eigentlich recht einfach geht.
Es gibt nur ein winziges Problem.

Man kann eine Unit dokumentieren (DocInsight), aber das CodeFolding funktioniert bei diesem Kommentar (da oben an/über unit xyz; ) noch nicht.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#9

AW: Quellcode Kommentieren

  Alt 16. Aug 2014, 16:20
..aber das CodeFolding funktioniert bei diesem Kommentar (da oben an/über unit xyz; ) noch nicht.
Das ist ja bescheuert. Und unter der 'Unit' Deklaration gehts nicht?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.531 Beiträge
 
Delphi 12 Athens
 
#10

AW: Quellcode Kommentieren

  Alt 16. Aug 2014, 20:19
Die Dokumentation gehört vor/über das zu dokumentierende Objekte und nicht dahinter.
(wobei ich es mit bei Property, Kostante und Co. auch gern mal dahinter gewünscht hätte stupid)

Das Erste "in" jeder Unit, also der Uses-Abschnitt, lässt sich nicht dokumentieren und bei Compiler-Optionen geht es natürlich auch nicht.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz