AGB  ·  Datenschutz  ·  Impressum  







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

Guter Code

Offene Frage von "jaenicke"
Ein Thema von PascalDeveloper · begonnen am 14. Feb 2018 · letzter Beitrag vom 2. Mär 2018
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von p80286
p80286

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

AW: Guter Code

  Alt 14. Feb 2018, 16:57
und was man möglichst in der Programmierung in Pascal bzw. Delphi vermeiden sollte.
Guter Code
...ist der, der unter allen Umständen funktioniert. Wenn ein dressierter Affe mit deinem Programm umgehen kann ist es gut, und wenn auch mehrere hellhaarige Hairstylistinnen es nicht zum Absturz bringen ist es besser.
... ist der, der sich von unerwarteten Daten nicht vom Pfad der Tugend abbringen läßt.

...enthält kein with..do , denn oft genug versteht der Compiler das nicht so wie der Programmierer.
...enthält kein if Boolvar=True .
...enthält keine relativen Dateinamen.
...enthält keine Pointerarithmetik.
...ist durch richtige Kommentierung auch nach 3..n Monaten noch verständlich.

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

Registriert seit: 6. Feb 2008
838 Beiträge
 
#2

AW: Guter Code

  Alt 14. Feb 2018, 18:00
..."Guter Code"...
1.: es ist erklärbar, warum er funktioniert(das ist leider relevant! wenn gerade(noch) etwas geht, aber der Letzte welcher es gemacht&verstand nicht mehr da und es aktuell sonst keiner weiß, dann ist dies auf Dauer schlimmer wie wenn akut nix mehr gehen würde)
2.: er funktioniert hier&jetzt
3.: er funktioniert möglichst lange
4.: es ist schön, wenn Sachen Projekt übergreifend mehrfach nutzbar und strukturell sind, aber ich beharre nicht auf zwanghafter direkter 100% 1:1 "Dauer-Kompatibilität"
5.: muss nicht schön sein, er muss nur in sich einheitlich und somit für den Lesenden jeweils "vorhersehbar/erkennbar" sein


Von "sprechendem/selbsterklärendem Code mit dafür nur den notwendigsten Kommentaren jenseits der Funktion sowie Inputs und Outputs" oder "viel sprechende Kommentare, wo man dann teils schon den eigentlichen Code suchen muss"... ich arbeite nach diesen 5 Grundsätzen sowohl alleine als auch im Team.

Ich toleriere auch einen abweichenden Style anderer, und das sogar gern... einfach weil es gut ist, wenn man schon nach 2 Bildschirmseiten "sicher" erkennt wer das programmiert hat. Man weiß wenn was nicht(mehr) klappt an wen man sich wenden muss bzw. bei den "Ex...", an wen man sich nicht mehr direkt wenden kann.

Speziell beim Einsatz von internen oder externen Libs ist es auf Dauer nicht machbar, stets immer den gegenseitig neues Stand einsetzen zu wollen, wenn die Designzyklen nicht zu einander passen.
Es macht keinen Sinn, sich monatlich die aktuellsten Sachen von TMS,DevExpress,Intraweb,??? im Produktivsystem zu installieren, wenn man selbst nur einen Releasezyklus von 6+Monaten hat.
Es gilt oft: "NeverChancgeRunningSystem"... der unbeeinflussbar extern verursachte Testaufwand steigt sonst ins unermessliche.

Bei erkannten und dokumentierten Fehlern gilt zunächst immer "now: it's not a Bug... it's a Feature"!
Heißt wenn sichere wenn auch teils unkomfortable Workarounds zur Vermeidung von oder als Lösung für bekannte Fehler möglich, dann ist dies für Anwender doof, aber besser es eine Zeit zu beachten, als sich mit zig Updates bis zur nächsten stabilen Releaseversion "live" zu quälen.
Da schließt sich dann der Kreis: "guter Code" verhält sich auch im Fehlerfall soweit irgend möglich "vorhersehbar" und unterstützt die Fehleranalyse durch eigene aussagekräftige Logs der jeweils wesentlichen (Fehler) Informationen... und so blöd es klingt: da gibt es kein Standard Designpattern was das schafft... da hilft nur pure (eigene) Erfahrung.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.431 Beiträge
 
Delphi 12 Athens
 
#3

AW: Guter Code

  Alt 15. Feb 2018, 05:58
Moin...
Zum Programmieren gehört aber nicht nur guter Code sondern auch ein Versionskontrollsystem...Nicht beim ersten Formular, aber besser gleich am Anfang.
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#4

AW: Guter Code

  Alt 15. Feb 2018, 07:06
Die Frage nach gutem Code führt zu vielen Antworten. Eine präzisere Frage wäre vielleicht: Was ist brauchbarer Code und was ist schöner Code.

Programmieren ist ja nicht nur einen Ingenieurwissenschaft (=brauchbarer Code) sondern auch eine Kunst (=schöner Code). Für ersteres gibt es handfeste Kriterien und Designprinzipien:
https://t3n.de/news/prinzipien-softw...-solid-615556/
https://glossar.hs-augsburg.de/Programmierprinzipien

Zweites ist wie so oft Geschmackssache und soll mit ersterem nicht verwechselt werden.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

AW: Guter Code

  Alt 15. Feb 2018, 18:38
Ich habe her http://michael-puff.de/Programmierun...leanCode.shtml die wichtigsten Punkte aus dem Buch Clean Code von Robert C. Martin zusammen getragen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: Guter Code

  Alt 15. Feb 2018, 18:48
Also was die Kommentierung angeht, bin ich der Meinung, daß z.B. API-Aufrufe immer kommentiert gehören. Aber darüber kann man trefflich streiten.
Da ich mit dem IBM-BIOS aufgewachsen bin, kommentiere ich u.U. etwas zu viel.

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

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

AW: Guter Code

  Alt 15. Feb 2018, 18:56
Ein paar Beispiele für nicht immer sehr gute Kommentare und Codes.
http://www.delphipraxis.net/96226-eu...ommentare.html

@Herr Puff, sie wurden schon 5 Kommentare vorher verpetzt.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

AW: Guter Code

  Alt 15. Feb 2018, 19:21
@Herr Puff, sie wurden schon 5 Kommentare vorher verpetzt.
Wenn ich den erwische!
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
PascalDeveloper

Registriert seit: 14. Feb 2018
3 Beiträge
 
#9

AW: Guter Code

  Alt 28. Feb 2018, 13:46
Vielen Dank für die Antworten ich habe mir jetzt das Buch Clean code von Robert C. gekauft welches sehr gut ist und ich nur weiterempfehlen kann
  Mit Zitat antworten Zitat
Solutor

Registriert seit: 24. Dez 2017
15 Beiträge
 
Delphi XE2 Enterprise
 
#10

AW: Guter Code

  Alt 28. Feb 2018, 15:59
Der Vorschlag guter Code....
...enthält kein with..do , denn oft genug versteht der Compiler das nicht so wie der Programmierer.

Widerspricht dem was Borland in seinen Handbüchern zur Programmierung empfiehlt.

Es ist korrekt, dass dies nicht immer zu empfehlen ist, erst recht wenn man das Ganze verschachtelt.
Ich mache dies oft bei Ereignisbehandlungsmethoden wie OnDrawCell usw.
Man muss hierbei einfach nur wissen, ob bestimmte Parameter und Eigenschaften/Variablen sich da nicht gegenseitig in die Quere kommen.
Einige Variablen/Methoden sind in verschiedenen Units vorhanden und haben daher trotz gleichen Namens einen anderen Bezug.

Doch jedes Mal voll zu referenzieren, macht viel Tipparbeit und den Code nicht immer übersichtlicher.

Wenn man ungewöhnliches macht, bzw. unerwartetes, dann hilft einfach ein entsprechender Kommentar um das Ganze zu erläutern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      

 

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 16:37 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