AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Code-Style: wie verschönert/verbessert ihr die Lesbarkeit großer Dateien?
Thema durchsuchen
Ansicht
Themen-Optionen

Code-Style: wie verschönert/verbessert ihr die Lesbarkeit großer Dateien?

Ein Thema von a.def · begonnen am 18. Dez 2016 · letzter Beitrag vom 22. Dez 2016
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Stevie
Stevie

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

AW: Code-Style: wie verschönert/verbessert ihr die Lesbarkeit großer Dateien?

  Alt 20. Dez 2016, 14:39
Quellcode komplett ohne jegliche Kommentare ist aus meiner Sicht ein generelles No-Go, egal wie klein die Unit ist.
Und was genau soll man bei selbsterklärendem Code kommentieren?

Siehe auch: https://blog.codinghorror.com/coding-without-comments/
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (20. Dez 2016 um 14:47 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.421 Beiträge
 
Delphi 12 Athens
 
#2

AW: Code-Style: wie verschönert/verbessert ihr die Lesbarkeit großer Dateien?

  Alt 20. Dez 2016, 14:54
Und was genau soll man bei selbsterklärendem Code kommentieren?
Meiner Erfahrung nach gibt es den nicht
Aus der genannten Seite:
Zitat:
Perhaps that's the dirty little secret of code comments: to write good comments you have to be a good writer.
Was meine ich mit "gibt es nicht" - je nach Level der anderen mitarbeitenden (zukünftigen) Entwickler - sowohl generell, als auch Sprach- bzw. Projekt-spezifisch, gibt es in komplexen Systemen nichts, wo nicht ein wenig Dokumentation angebracht ist. Sei es eine Beschreibung des Typen, der Methodenparameter, auftretender Exceptions, oder - innerhalb der Methode - die Logik. Letzteres ist das, was oft am wenigsten nötig ist, aber Schnittstellen und Methoden sollten meiner Erfahrung nach immer eine Beschreibung mit sich bringen.

......
Lizbeth W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

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

AW: Code-Style: wie verschönert/verbessert ihr die Lesbarkeit großer Dateien?

  Alt 20. Dez 2016, 15:07
Was meine ich mit "gibt es nicht" - je nach Level der anderen mitarbeitenden (zukünftigen) Entwickler - sowohl generell, als auch Sprach- bzw. Projekt-spezifisch, gibt es in komplexen Systemen nichts, wo nicht ein wenig Dokumentation angebracht ist.
Solche Dokumentation zum "Großen Ganzen" findet sich aber eher nicht innerhalb einer bestimmten Sourcecode Datei.

Sei es eine Beschreibung des Typen, der Methodenparameter, auftretender Exceptions, oder - innerhalb der Methode - die Logik. Letzteres ist das, was oft am wenigsten nötig ist, aber Schnittstellen und Methoden sollten meiner Erfahrung nach immer eine Beschreibung mit sich bringen.
Kann man sich das meiste von sparen, indem man die Dinge entsprechend benennt - siehe Beispiel von Jeff im Artikel.
Es reicht allerdings nicht nur eine gute Benamung sondern auch das Einhalten, bestimmter Prinzipien, z.B. des Single Level of Abstraction - womit man aus dokumentier/kommentierwürdigen if/while/for- Code Klumpen einfach verständliche und selbsterklärende Subroutinen formen kann.

Übrigens habe ich nicht gesagt, dass man nix dokumentieren/kommentieren sollte, sondern, dass ich deiner Aussage, dass jeglicher Code, sei er noch so kurz, Kommentare aufweisen muss, nicht zustimme - bzw nachfragte, um welche Kommentare es sich dort denn handeln solle. Dass du nun Beispiele nennst, wo Dokumentation und Kommentare notwendig sind, beantwortet diese Frage nicht.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (20. Dez 2016 um 15:11 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Code-Style: wie verschönert/verbessert ihr die Lesbarkeit großer Dateien?

  Alt 20. Dez 2016, 15:22
Übrigens habe ich nicht gesagt, dass man nix dokumentieren/kommentieren sollte, sondern, dass ich deiner Aussage, dass jeglicher Code, sei er noch so kurz, Kommentare aufweisen muss, nicht zustimme - bzw nachfragte, um welche Kommentare es sich dort denn handeln solle. Dass du nun Beispiele nennst, wo Dokumentation und Kommentare notwendig sind, beantwortet diese Frage nicht.
Delphi-Quellcode:
///   <summary>
///    Das ist die Funktion Sum aus der Datei Unit1.
///   </summary>
function Sum(A, B: Integer): Integer;
var
  Temp: Integer; // eine lokale Variable und wehe jemand meckert, aber ich hatte sonst nichts zum Kommentieren
begin
  Temp := A + B; // beide Zahlen addieren
  Result := Temp; // weist das Ergebnis zu
end;
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (20. Dez 2016 um 15:45 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.216 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Code-Style: wie verschönert/verbessert ihr die Lesbarkeit großer Dateien?

  Alt 20. Dez 2016, 15:52
Du hast // **** Ab hier geht's los! ..... **** vergessen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Code-Style: wie verschönert/verbessert ihr die Lesbarkeit großer Dateien?

  Alt 20. Dez 2016, 16:11
Stimmt, das begin und end muß man noch kommentieren, sonst weiß ja Keiner was das ist.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#7

AW: Code-Style: wie verschönert/verbessert ihr die Lesbarkeit großer Dateien?

  Alt 20. Dez 2016, 16:57
Am Anfang einer meiner Units steht dieser Kommentar:
Delphi-Quellcode:
{
Unit Name: SBAutoRegistry

Purpose:  Speichert Konfigurationsdaten automatisch in der Registry und liest
            diese beim Programmstart wieder aus. Bietet beim Start das
            Ereignis OnRead und beim Beenden das Ereignis OnWrite an.
            Führt eine eigene Fehlerbehandlung im Programm ein, die ggfls. mit
            Hilfe der JCL genauere Fehlerinformationen ermittelt. Hierzu muss
            das Programm mit ausfühlicher MAP-Datei erstellt werden.
            Beim Auftreten von Fehlern wird das Ereignis OnAppException
            ausgelöst. Hier kann im Programm entsprechend reagiert werden.
            Konfigurationsabhängig können hier nur die einfachen Fehlermeldung
            (Exception.Message) ausgegeben werden oder genauere, von der JCL
            ermittelte Informationen, wie Fehleradresse, fehlerverursachender
            Ort im Quelltext ...

            Programmfehler können automatisch in einer LOG-Datei protokolliert
            werden. Die Protokollierung ist ein- und ausschaltbar.

            Der Aufruf einer kontextsensitiven Hilfe wird hier zentralisiert,
            ebenso die Anzeige von Hints.

            Für alle Formulare des Programmes werden die Positionen, Höhe und
            Breite in der Registry gespeichert, um die Positionen bei einem
            Neustart des Programmes zu restaurieren.
}
Wenn man den nachfolgenden Quelltext liest (ca. 1600 Zeilen), kommt man an die gleiche Information. Der Quelltext ist so gehalten, dass er lesbar ist, also sprechende Bezeichner für alles, was da so genutzt wird.
Beim Lesen des Quelltextes erhält man also die gleiche Information. Strenggenommen ist der Kommentar also Redundanz und könnte ohne Informationsverlust entfernt werden.

Trotzdem halte ich so eine Beschreibung am Anfang für sinnvoll. Sie ist deutlich schneller und leichter verstehbar, als die entsprechende Implementierung.

Und sollte mal ein Laie aus der QS, beim Kunden oder wo auch immer genötigt sein, in den Quelltext zu schauen, so kann er am Anfang der Unit kurz und knapp die benötigte Info zum Sinn und Zweck der Unit erhalten.

Ein neuer Entwickler im Team kann so auch kurz mal reinschauen und bereits anhand des Kommentares entscheiden, ob die Unit für die Aufgabe, die er da gerade erledigen soll, geeignet ist / sein könnte oder eben auch nicht.

Und wenn ich mal in die Quellen der JVCL schaue, so finde ich es durchaus praktisch, am Anfang eine Beschreibung zu finden, statt erst den gesamten Quelltext lesen zu müssen.

Bei komplexen Algorithmen ist eine Beschreibung für mich ein muss. Im Quelltext bekomme ich ggfls. nämlich nur die falsche Implementierung zu lesen, ohne eine Information darüber, wie es denn eigentlich sein soll.
Da helfen mir die beste Lesbarkeit und die tollsten und aussagekräftigsten Bezeichner nichts, wenn sie etwas anderes darstellen, als bei der zu lösenden Aufgabe eigentlich gemeint war, weil nämlich die bei der Implementierung falsch verstanden wurde.

Zuweilen mal bei der Fehlersuche eine vollständige und korrekte Beschreibung zum Quelltext zu haben, ist nicht so ganz ohne.

Trivialitäten werden selbstverständlich nicht kommentiert.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: Code-Style: wie verschönert/verbessert ihr die Lesbarkeit großer Dateien?

  Alt 20. Dez 2016, 16:05
Übrigens habe ich nicht gesagt, dass man nix dokumentieren/kommentieren sollte, sondern, dass ich deiner Aussage, dass jeglicher Code, sei er noch so kurz, Kommentare aufweisen muss, nicht zustimme - bzw nachfragte, um welche Kommentare es sich dort denn handeln solle. Dass du nun Beispiele nennst, wo Dokumentation und Kommentare notwendig sind, beantwortet diese Frage nicht.
Ein Kommentar ist überall da notwendig, wo der Lesende einen zum Verständnis nötigen Background nicht hat.
Wobei GetlastBookedInvoice anders kommentiert werden muß als GetLastPosOfIn(Searchedstring,SourceString), falls überhaupt.

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

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.421 Beiträge
 
Delphi 12 Athens
 
#9

AW: Code-Style: wie verschönert/verbessert ihr die Lesbarkeit großer Dateien?

  Alt 21. Dez 2016, 07:32
dass ich deiner Aussage, dass jeglicher Code, sei er noch so kurz, Kommentare aufweisen muss, nicht zustimme
Habe ich nicht geschrieben Ich schrieb Unit, und da ist nochmal ein Unterschied.

......
Lizbeth W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#10

AW: Code-Style: wie verschönert/verbessert ihr die Lesbarkeit großer Dateien?

  Alt 21. Dez 2016, 09:46
Besser zu viele Kommentare als gar keine und unverständlicher Code. Ignorieren kann man überflüssige Kommentare immer.
  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 00:15 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