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 5 von 10   « Erste     345 67     Letzte »    
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#41

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 10:13
Aber manchmal gibt es "unsinnige Wünsche" von Kunden. So etwas kommentiere ich immer. Teilweise sogar mit Verweis auf die E-Mail des Kunden.
Wir machen das über CVS.
Das interessiert mich. Wie sieht das in der Praxis aus? Der Hinweis auf den Kundenwunsch steht bei mir im Code und fällt sofort in's Auge. Wie sieht das im CSV aus? Wo steht der Hinweis? Muss ich selber aktiv einen Button drücken um diese Zusatzinfo zu sehen?

Delphi-Quellcode:
Procedure ZeigMalWas;
begin
  // 10.10.2012 - E-Mail von Meyer - Will ein Blinken im Sekundentakt.
  // LassBlinken(1);
  // 20.11.2012 - E-Mail von Müller - Blinken zu hektisch. Auf Wunsch nur alle 2 Sekunden.
  // LassBlinken(2);
  // 20.03.2013 - Telefonat mit Meyer - Vertrieb hat sich durchgesetzt. Blinken 2 mal pro Sekunde.
  LassBlinken(0.5);
end;
Ich kenne kein Versionskontrollsystem oder eine CSV-IDE Integration sie so etwas kann oder nur in die Nähe käme.

Alle gängigen Systeme (Git, SVN etc.) arbeiten dateiorientiert. Man kann sich also zu der Unit, in der Procedure Machwas enthalten ist, detailliert auflisten lassen wer wann und warum etwas an der Unit geändert hat. Sich aber nur auf Prozedurebene die Änderungen anzeigen zu lassen, ist mit den mir bekannten Werkzeugen nicht möglich. Müßte man mal recherchieren

Aber selbst wenn es möglich wäre, aus dem Versionskontrollsysteme ein Änderungsprotokoll einer einzelnen Prozedur zu generieren, dann wäre dieses Änderungsprotokoll damit nicht in der Unit selber sichtbar (so wie in obigem Beispiel), sondern nur ein Protokollfile oder ein in einem Logviewer dargestellter Text.

Versionskontrollsysteme erleichtern die Arbeit aber doch sehr: wenn eine Kundenänderung sich nicht nur auf eine einzige Stelle bezieht, sondern mehrere Units betroffen sind, muss ich nicht an allen Stellen einzeln dokumentieren, stattdessen wird beim Speichern der Änderung für alle geänderten Dateien der Bezug zum Kundenauftrag einmalig erfasst und ist im CVS Protokoll dann allen Units zugeordnet.
Michael Justin
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

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

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 10:17
Ich kenne kein Versionskontrollsystem oder eine CSV-IDE Integration sie so etwas kann oder nur in die Nähe käme.

Alle gängigen Systeme (Git, SVN etc.) arbeiten dateiorientiert. Man kann sich also zu der Unit, in der Procedure Machwas enthalten ist, detailliert auflisten lassen wer wann und warum etwas an der Unit geändert hat. Sich aber nur auf Prozedurebene die Änderungen anzeigen zu lassen, ist mit den mir bekannten Werkzeugen nicht möglich. Müßte man mal recherchieren
die meisten können Diffen, d.h. die Unterschiede zwischen den Änderungen anzeigen. Damit entdeckt man solche Sachen. Natürlich, wenn ein Submit 1200 solcher Änderungen betrifft, wirds schwierig - dann ist das aber die falsche Arbeitsweise.
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#43

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 10:18
Hallo,

beim Einchecken der Datei kann man das doch als Info eintragen.
Bei Tortoise-SVN kann ich so viel Text eingeben, wie ich will.
Checke ich genau diese eine Datei als eigene Revision ein,
kann ich bequem danach suchen.


Heiko
Heiko
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#44

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 10:18
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.
Änderungen einer einzelnen Prozedur über die Jahre hinweg nachzuvollziehen ist mit einer Versionsverwaltung allerdings schon etwas mühsam. Da man immer nur ein Diff zweier Versionen macht, in dem auch alle anderen Änderungen der Unit enthalten sind. Ein praktisches Feature wäre es schon, die Evolution eines isolierten, definierten Codeabschnitts einer Unit auflisten zu können. Kann das ein aktuelles CVS?
Michael Justin
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#45

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 10:22
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.
Wir verwenden die Kombination CVS, Jira und Fisheye.
Man sieht welcher Issue/Fehler welche Quellcodeänderung verursacht hat. Man kann in der History der Änderungen suchen und vieles Mehr...

Dazu brauch ich dann den Quellcode nicht mit Änderungskommentaren verseuchen die nach einiger Zeit das "Man sieht den Wald vor lauter Bäumen nicht mehr"-Problem verursachen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#46

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 10:24
Ich kenne kein Versionskontrollsystem oder eine CSV-IDE Integration sie so etwas kann oder nur in die Nähe käme.

Alle gängigen Systeme (Git, SVN etc.) arbeiten dateiorientiert. Man kann sich also zu der Unit, in der Procedure Machwas enthalten ist, detailliert auflisten lassen wer wann und warum etwas an der Unit geändert hat. Sich aber nur auf Prozedurebene die Änderungen anzeigen zu lassen, ist mit den mir bekannten Werkzeugen nicht möglich. Müßte man mal recherchieren
die meisten können Diffen, d.h. die Unterschiede zwischen den Änderungen anzeigen. Damit entdeckt man solche Sachen. Natürlich, wenn ein Submit 1200 solcher Änderungen betrifft, wirds schwierig - dann ist das aber die falsche Arbeitsweise.
Ja, nur läßt sich kein mir bekanntes Diff über alle Revisionen auf einen bestimmten Codeabschnitt beschränken. Man müßte dazu alle Unterschiede, die sich nicht auf die interessierende Prozedur beziehen, ausfiltern können.

Ausgabe eines solchen prozedurbezogenen Diff wäre dann (vereinfacht, ohne + und - Marker für neue/gelöschte Zeilen) etwa wie folgt:

Code:

Diff for Procedure ZeigMalWas - Revision 1 to Head

---

Revision 1: 10.10.2012 - E-Mail von Meyer - Will ein Blinken im Sekundentakt.

Procedure ZeigMalWas;
begin
  LassBlinken(1);
end;

---

Revision 4711: 20.11.2012 - E-Mail von Müller - Blinken zu hektisch. Auf Wunsch nur alle 2 Sekunden.

Procedure ZeigMalWas;
begin
  LassBlinken(2);
end;

---

Revision 65332: 20.11.2012 - E-Mail von Müller - Blinken zu hektisch. Auf Wunsch nur alle 2 Sekunden.

Procedure ZeigMalWas;
begin
  LassBlinken(0.5);
end;
Michael Justin

Geändert von mjustin ( 6. Aug 2014 um 10:27 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#47

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 10:27
Zum Thema IDE-Integration: VersionInsight Plus vom Uwe Schuster hat ein "LiveBlame" was in der IDE zu jedem Codeblock anzeigt in welcher Revision der sich geändert hat. Es ist dann ein leichtes sich die Commit-Kommentare dazu anzuschauen.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#48

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 11:07
[...] Ich kenne kein Versionskontrollsystem oder eine CSV-IDE Integration sie so etwas kann oder nur in die Nähe käme. [...]
Sowas möchte ich auch auf keinen Fall im Code haben. Das gehört in das Issue-Management und wird durch Branching und zu den Issues zugeordneten Commits gemanaged.

Die Sachbearbeiter im Issue- und Projekt-Management würden sich bedanken, wenn sie so etwas im Code nachschlagen müssten. Vom Accounting gar nicht erst zu reden... :p
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

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

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 11:39
Ich denke es kommt auch auf die Größe des Projekt-Teams an. Wenn es nur zwei Entwickler gibt, dann gibt es kein Projektmanagement.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 11:48
Interessante Diskussion.
Vor allem, weil die meisten wohl nicht die Probleme haben, die Chemiker angesprochen hat. Wenn man nicht mehr im Thema drin ist oder wenn einem die Entwicklungsoberfläche fehlt (ganz zu schweigen von einem Versionskontrollsystem), dann ist Kommentar im Sourcecode doch sehr hilfreich.

Natürlich muß inc(i) nicht kommentiert werden bei einem
Code:
if boolean(shl(shr(wert,1),1) then
wäre ich mir da nicht so sicher.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 10   « Erste     345 67     Letzte »    


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 01:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz