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 7 von 10   « Erste     567 89     Letzte »    
Dejan Vu
(Gast)

n/a Beiträge
 
#61

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 15:11
Ich arbeite als Architekt, Review und Entwickler, letzteres immer weniger.

Es ist nicht mehr Arbeit, wenn man die Methoden auf "3-Zeiler" herunterbricht. Im Gegenteil: Eine Umsetzung ist so wirklich viel viel schneller, weil sie meistens auf Anhieb läuft (bis auf die üblichen Schusseligkeitsfehler). Natürlich: Ich mach das seit Ewigkeiten (vor 30 Jahren jieß0 das Top-Down und 'stepwise refinement')und ich denke gar nicht mehr darüber nach, aber jedesmal, und wirklich jedes Mal, wenn ich in alte Ich-frickel-mir-schnell-Code-zusammen-ist-doch-wurscht-wie-das-aussieht verfalle, verfluche ich nach spätestens drei Erweiterungen mein anfängliches Gewurschtele.

Mein Tipp an Alle: Fangt mit Clean Code an. Nicht bis zum bitteren Ende, aber so, das man keine Kommentare benötigt, die den Code erklären. Der Code muss sich selbst erklären. Im Idealfall muss das ein englischer Satz (oder maximal 3-5) sein. 'If the customer is valid, then charge fees' ist wirklich 1:1 in Delphi abbildbar (das 'the' kann man weglassen). Schade, das es Linq für Delphi nicht gibt, da geht das noch besser.

Ach, und natürlich benötigt man richtiges Werkzeug. Ich bin auf C# umgestiegen und arbeite mit Resharper, da kann man sehr viel Refactoring ratzfatz schnell durchziehen. Codeschnipsel markieren => Methode extrahieren => Parameter benennen => fertig. Geht so -glaube ich- nicht in Delphi, oder?
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.017 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#62

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 15:17
Schade, das es Linq für Delphi nicht gibt, da geht das noch besser.

Ach, und natürlich benötigt man richtiges Werkzeug. Ich bin auf C# umgestiegen und arbeite mit Resharper, da kann man sehr viel Refactoring ratzfatz schnell durchziehen. Codeschnipsel markieren => Methode extrahieren => Parameter benennen => fertig. Geht so -glaube ich- nicht in Delphi, oder?
Du hast gerade den Hauptgrund genannt, warum sich diese Cleancode Mentalität in der Delphi Community noch nicht so stark verbreitet hat, wie in anderen Sprachen. Unsere Tools dafür sind teilweise einfach Grütze.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie ( 6. Aug 2014 um 15:23 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

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

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 15:23
Schade, das es Linq für Delphi nicht gibt, da geht das noch besser.

Ach, und natürlich benötigt man richtiges Werkzeug. Ich bin auf C# umgestiegen und arbeite mit Resharper, da kann man sehr viel Refactoring ratzfatz schnell durchziehen. Codeschnipsel markieren => Methode extrahieren => Parameter benennen => fertig. Geht so -glaube ich- nicht in Delphi, oder?
Du hast gerade den Hauptgrund genannt, warum sich diese Cleancode Mentalität in der Delphi Community noch nicht so stark verbreitet hat, wie in anderen Sprachen. Unsere Tools dafür sind einfach Grütze.
Amen!

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

n/a Beiträge
 
#64

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 15:28
Du hast gerade den Hauptgrund genannt, warum sich diese Cleancode Mentalität in der Delphi Community noch nicht so stark verbreitet hat, wie in anderen Sprachen. Unsere Tools dafür sind einfach Grütze.
Na ja. 20 Jahre Pascal mit top-down gingen auch ohne refactoring Tools.

Am Code herumkneten, bis er noch besser wird (speziell Bezeichner umbenennen)... stimmt, Codepflege und die Pfadfindermentalität: Geht ohne Tools wirklich nicht/bzw. schlecht.

Aber stepwise refinement, Probleme in kleine Probleme zu unterteilen, am Anfang abstrakt und erst zum schluß konkret zu werden, also lesbaren Code zu schreiben: Das mache ich schon immer so. Und vor ein paar Jahren hab ich dann gelesen, das das wohl en vogue ist.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 15:34
Hallo,

auch ich bin der Meinung, dass JEDE Methode kommentiert sein muss.
Spätestens, wenn sich jemand in etwas einarbeiten soll, ist das wichtig.
Allerdings ist der Kommentar der Methode ein Sache,
weit wichtiger sind aber die Parameter- und Returnwertbeschreibung.
Ich halte mich übrigens an die Syntax von DelphiCode2Doc.
Ich hab das die letzten Wochen auch mal bei einem Projekt gemacht, womit alleine das Unit-Interface von knapp 280 auf über 1800 Zeilen angewachsen ist, aber zum Glück kann man die sich Teile ausblenden zusammen falten lassen. (inzwischen über 3300 Zeilen, aber ich weiß jetzt nicht wie viel davon Code und wie viel Kommentare/Dokumentation sind)
Bsp:

Delphi-Quellcode:
{*
  vergleicht 2 Strings, ohne Groß- und Kleinschreibung zu beachten

  @param  S1  erster String
  @param  S2  zweiter String
  @return  <1 S1<S2, >1 S1>S2, =0 S1=S2
}

function CompareText(const S1, S2: String): Integer;
Ich bin selber mal in die Falle getappt, dass ich auf -1 geprüft habe, statt auf <1

Dass man aus diesen Kommentaren auch schön eine Dokumentation rausziehen kann,
also die Code-Beschreibung nicht doppelt schreiben muss, ist ein angenehmer Zusatznutzen.
PS: Es gibt dafür auch Konstanten, welche man verwenden könnte.
Delphi-Quellcode:
type
  TValueRelationship = -1..1;

const
  LessThanValue = Low(TValueRelationship);
  EqualsValue = 0;
  GreaterThanValue = High(TValueRelationship);

Mit DelphiCode2Doc nimmst du dir aber eine nette Funktion weg, welche es seit 2005/2006 im Delphi gibt.
=> Help-Insight

unbenannt.jpg Und Delphi kann das inzwischen (XE2/XE3) selber zusammenfalten, ohne daß man die Regionen dafür benötigt.

Zitat:
Ach, und natürlich benötigt man richtiges Werkzeug. Ich bin auf C# umgestiegen und arbeite mit Resharper, da kann man sehr viel Refactoring ratzfatz schnell durchziehen. Codeschnipsel markieren => Methode extrahieren => Parameter benennen => fertig. Geht so -glaube ich- nicht in Delphi, oder?
Doch. (teilweise)

Refactoring > Methode Extrahieren
uvm., auch von Fremdanbietern (GExperts, cnPack, ...)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 6. Aug 2014 um 15:48 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

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

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 15:37
Dann jetzt mal Spaß beiseite: Bist Du hauptberuflicher Codereviewer? Weil das Zeitargument ist für mich äusserst nachvollziehbar
Das ist eine reine Prioritäts-(und damit auch Management)-Frage. Tests sind ein ähnliches Zeitinvestment. Ich verbringe einiges an Zeit damit, Tests zu schreiben, und anderer Leute Code zu reviewen - aber das ist auch gut so. Da wird dann gern auch auf mangelnde, falsche oder unnütze Dokumentation hingewiesen. Das Problem das ich mit CodeReviews in anderen Firmen gesehen habe ist eher das, dass manche Entwickler nicht so gut mit Kritik an deren Implementierungen zurechtkommen.
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#67

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 15:59
...Das Problem ..ist .., dass manche Entwickler nicht so gut mit Kritik an deren Implementierungen zurechtkommen.
Jupp. Daher kritisiere ich direkt nur unter vier Augen und immer konstruktiv und positiv und, wenn im Meeting, immer anonym aber auch nur dann, wenn der keine Mimose ist. Denn er/sie fühlt sich ja angesprochen. Ich versuche, den Narzißmus und die Empfindlichkeit durch (hört sich blöd an) teambildende Maßnahmen zu minimieren. Von einem 'Freund' lässt man sich eher etwas erzählen, als von einem Konkurrenten. Ich unterstütze Teamprogramming und 'sich gegenseitig helfen'.
Ich habe aber das Glück, das das Team fast nur aus kompetenten Leuten besteht, die sich teilweise noch aus der Schule kennen und die Chemie stimmt einfach.

Geändert von Dejan Vu ( 6. Aug 2014 um 17:11 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 17:00
...wenn ich in alte Ich-frickel-mir-schnell-Code-zusammen-ist-doch-wurscht-wie-das-aussieht verfalle, verfluche ich nach spätestens drei Erweiterungen mein anfängliches Gewurschtele.
Na, die Erfahrung sollten eigentlich die meisten von uns schon gemacht haben.


Übrigens sind die Namen der Prozeduren beim Erstellen meist sehr einleuchtend und präzise. Nach einem Monat sehe ich das für mich doch etwas kritischer.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.017 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#69

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 17:57
...wenn ich in alte Ich-frickel-mir-schnell-Code-zusammen-ist-doch-wurscht-wie-das-aussieht verfalle, verfluche ich nach spätestens drei Erweiterungen mein anfängliches Gewurschtele.
Na, die Erfahrung sollten eigentlich die meisten von uns schon gemacht haben.
Witzigerweise ist das aber die Argumentation, die ich oft höre, wenn es um sauberen Code, Einhaltung von bestimmten Praktiken etc geht. Für kleine Huschhusch Projekte oder irgendwas, was man nur alleine programmiert, braucht man sowas ja nicht... ja, nee is klar. Wenn man das schon nicht für nen banales Projekt macht und dort lernt, dann wird man das bestimmt bei nem Riesenprojekt perfekt beherrschen.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
OlafSt

Registriert seit: 2. Mär 2007
Ort: Hamburg
284 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#70

AW: Quellcode Kommentieren

  Alt 6. Aug 2014, 22:27
Clean Code lohnt sich auch auf andere, ungewöhnlichere Art:

Noch im letzten Jahrtausend (OMG, wie sich das anhört) schrieb ich eine Applikation, die via GSM-Modem irgendwo Daten abholte, decodierte und in einer SQL-DB verschwinden ließ. ich wechselte die Firma, wechselte die Firma, wechselte die Firma, lag im KH, machte mich selbständig.

Dann klingelt das Telefon - der Kunde von damals möchte ein paar Änderungen an dem Ding haben. 15 Jahre alter D7-Code. Da bist du froh, wenn du sauber gearbeitet und ein paar Kommentare hinterlassen hast.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 7 von 10   « Erste     567 89     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 23:23 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