AW: XEx in die Quellcodeformatierung "eingreifen"?
Zitat:
|
AW: XEx in die Quellcodeformatierung "eingreifen"?
Zitat:
Aber gut - hier ein leicht abgewandelter Ansatz, der allerdings aufwändiger zu pflegen ist und wahrscheinlich immer noch nicht den Clean Code Prinzipien genügt (ich mag übrigens die Bändchen nicht):
Delphi-Quellcode:
const
cFrenchOverseas: array[0..4] of string = ('GP', 'MQ', 'RE', 'GF', 'PM'); ... if MatchStr(country, cFrenchOverseas) then |
AW: XEx in die Quellcodeformatierung "eingreifen"?
Oje, welche Tür hab ich geöffnet.
Zitat:
Bei aller liebe, aber die Frage war, welchen und wenn wie man den Quellcodeformatter ändern kann. Ihr könnt doch Eurer Delphi so formatieren wie Ihr es wollt... Ich mache es eben anders. Es gibt einfach If-Verschachtelungen die lassen sich - meiner Meinung nach - besser lesen als würde man daraus Proceduren machen. Ich suche Euch mal was raus und poste es unter Talk... Mavarik |
AW: XEx in die Quellcodeformatierung "eingreifen"?
Zitat:
Schau Dir den (deinen) Code an. Extrahiere bzw. markiere in einer Methode, die mehr als 1 Zeile hat die Codezeilen, die genau eine Aufgabe erfüllen. Sind die Zeilen an sich sofort verständlich, und zwar *ohne* das Du deinem fiktiven Kollegen etwas erklären müsstest? Ist das Abstraktionsniveau dieser Zeile(n) mit den umgebenen identisch? Ist die Antwort auf beide Fragen 'Ja', gehe zum nächsten Codeblock. Wenn nicht, refaktorisiere die Zeile(n) und spendiere ihnen eine eigene Methode mit einem Namen, der pragmatisch aber genau beschreibt, was diese Zeile(n) tun. Sehr beliebt bei bool'schen Termen, denn wer begreift schon sofort, was folgende Zeile bedeutet:
Delphi-Quellcode:
Aber das hier versteht jeder:
if (Person.Position = Manager) or (Person.Salary>5000 and Person.Age>45)
then
Delphi-Quellcode:
Das die Person ein Manager sein muss oder mehr als 5000 verdient und älter als 45 sein muss, ist für das Verständis der IF-Abfrage irrelevant (wer es dennoch wissen will, schaut eben in der Funktion nach). Aber der Code ist sofort verständlich. Ohne Kommentar.
if IstBonusBerechtigt(Person)
then Und wenn die Änderungsanforderung an 'IstBonusBerechtigt' kommt (weil nun auch Abteilungsleiter in den Genuss kommen), dann weiß auch der Junior-Programmierer, wo er ansetzen muss. Das man daraus auch eine Eigenschaft der 'Person' machen könnte, sei mal dahingestellt. Schau Dur mal z.B. den DevExpress Quellcode an: Dort gibt es massenhaft Methoden, die nur aus einer Anweisung bestehen. So schreibt man heute guten Code. Alles andere ist imho Frickelei. Und eines zum Schluß: Natürlich geht man pragmatisch an die Sache ran. Oder nenne es 'gesunden Menschenverstand ohne Dogma'. Ist doch logisch. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:17 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