Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

51

26.06.2012, 18:27

Ein Beispiel habe ich bereits genannt.
Wenn ich mal wieder über eine Stelle darüber stolpern sollte, werde ich es euch wissen lassen. 8)

Und mir geht es auch ausdrücklich nicht darum, mit Kommentaren "Programmieren zu lernen".

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

52

26.06.2012, 18:45

Der Code, den Du genannt hattest, der war nicht selbst-erklärend und ein gutes Beispiel für schlechten Code, der sich aber sehr wohl in gut lesbaren Code ändern ließ.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

53

26.06.2012, 19:25

Vielleicht wäre eine Buchempfehlung zum Thema angebracht.
Refactoring erklärt nicht nur noch was Blue Cobold meint, sondern zeigt auch Wege es umzusetzen.

Wenn er das meint was ich meine geht es ihm darum, dass Kommentare an sich nicht schlecht sind und manchmal angebracht und notwendig, aber sie oft Anzeichen für schlechten/"stinkenden" Code sind, weil Code selbsterklärend sein sollte. Anstatt zu beschreiben was in der Zeile passiert, sollte man eine Methode/Funktion schreiben, deren Namen das aussagen, was in dem Kommentar stehen würde.
Beispiel:

C-/C++-Quelltext

1
if(benötigtesGeld <= kapital*zinsSatz + kapital)) // berechnet Prozentwert des nächsten Jahres und prüft ob das Geld reicht

ist zwar in Ordnung. Das wäre aber besser:

C-/C++-Quelltext

1
if(reichtDasGeld(berechneJahresProzentwert(kapital, zinsSatz))


Ich habs einfach mal auf deutsch geschrieben xDDDDDDD
So würd ichs natürlich nicht wirklich schreiben.
Ich hoffe man versteht was ich meine.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »NachoMan« (26.06.2012, 19:31)


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

54

26.06.2012, 19:30

Aus 'nem Einzeiler eine Funktion zu machen, deren Name länger ist als der Urspungscode, ist mir dann doch zu hart ;) Aber es geht natürlich in die Richtung. Ist ein Code zu komplex oder zu verschachtelt, dann muss er runtergebrochen werden.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

55

26.06.2012, 19:31

Selbst aus Einzeilern kann man Sinnvolle Methoden machen. Wenn sie einen Kommentar benötigen sollte man das überlegen.

edit: Ich habs oben übrigens bis eben mehrmals editiert...
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

56

26.06.2012, 19:32

Ja, aber das Beispiel war nicht sonderlich gut gewählt ;)
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

57

26.06.2012, 19:32

Zitat

Wenn er das meint was ich meine geht es ihm darum, dass Kommentare an sich nicht schlecht sind und manchmal angebracht und notwendig,

Er behauptet, da man nie Kommentare verwenden sollte.

Zitat

Der Code, den Du genannt hattest, der war nicht selbst-erklärend und ein gutes Beispiel für schlechten Code, der sich aber sehr wohl in gut lesbaren Code ändern ließ.

Bis jetzt ist noch kein einziger brauchbarer Vorschlag zum Beheben eingetroffen.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

58

26.06.2012, 19:34

Er behauptet, da man nie Kommentare verwenden sollte.
Du solltest wirklich lernen zu lesen und das Gelesene richtig zu interpretieren. Du verdrehst wieder meine Worte. Ich sagte, dass es nie notwendig ist, bzw. nie notwendig sein sollte. Das ist etwas ganz anderes. Dot geht aber in der Tat so weit ;)

Es ist noch kein Beispiel zum Beheben Deines Code-Smells eingetroffen? Na ja... Dachdecker und Integration hatten wir ja schon, oder?
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

59

26.06.2012, 19:40

Nein, du hast genau das geschrieben.
Wäre ein Kommentare nötig, so müsste etwas anderes geändert werden, schriebst du mehrmals.

Zitat

Es ist noch kein Beispiel zum Beheben Deines Code-Smells eingetroffen?

Doch zwei sogar.
Getaugt hat aber keins von beiden.
Wobei mir teils auch nicht ganz klar war, was diese Änderungen jetzt Konkret an der Ursache des Kommentars verändern.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

60

26.06.2012, 19:56

Nein, du hast genau das geschrieben.
Wäre ein Kommentare nötig, so müsste etwas anderes geändert werden, schriebst du mehrmals.
Ist ja auch so, weil guter Code ohne Kommentare auskommt. Ich dachte das sei in dem letzten halben Dutzend Seiten klar geworden. Der Unterschied zwischen "bedarf keiner" und "darf keine enthalten" ist Dir scheinbar nicht bekannt. Schade, denn das macht natürlich jedwede Diskussion völlig unmöglich.


Doch zwei sogar.
Getaugt hat aber keins von beiden.
Wobei mir teils auch nicht ganz klar war, was diese Änderungen jetzt Konkret an der Ursache des Kommentars verändern.
Jo. Dachdecker und Integration. Mein Code war eindeutig und verständlich auch ohne Kommentar. Deiner nicht, weil er uneinsichtige Seiteneffekte aufgezeigt hat, die die merkwürdige Art der Schleife überhaupt erst erforderlich gemacht haben.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige