Abo
  1. Foren
  2. Kommentare
  3. Applikationen
  4. Alle Kommentare zum Artikel
  5. › Computer History Museum…

Guter Code braucht keine Kommentare

Anzeige
  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


  1. Guter Code braucht keine Kommentare

    Autor: HansiHinterseher 15.02.13 - 10:36

    Das hat schon Bjarne Stroustrup mal gesagt.

    Wenn man kommentieren muss, dann weil der Code schlecht zu verstehen ist. Code muss sprechend sein, besonders mit den heutigen Hochsprachen sehr einfach.

    Bei Assembler-Programmen sind Kommentare eher verständlich. Wobei selbst Assembler heute schon sehr viele Möglichkeiten bieten, lesbareren Code zu schreiben...



    1 mal bearbeitet, zuletzt am 15.02.13 10:36 durch HansiHinterseher.

  2. Re: Guter Code braucht keine Kommentare

    Autor: ibsi 15.02.13 - 10:41

    Code kann aber auch kompliziert sein, und deshalb ist es schon sinnvoll mindestens solche Stellen dann ausführlich zu kommentieren.

  3. Re: Guter Code braucht keine Kommentare

    Autor: MaX 15.02.13 - 10:41

    Das seh ich anders. Kommentare nach dem Motto, "Hier mache ich XY" sind nutzlos aber kommentare, in denen steht, warum man etwas gemacht hat sind sehr hilfreich.

  4. Großer Unterschied

    Autor: dabbes 15.02.13 - 10:43

    Kommentare die den Code kommentieren braucht kein Mensch.
    Kommentare die kommentieren was der Code macht aber schon.

  5. Re: Guter Code braucht keine Kommentare

    Autor: Extrabit 15.02.13 - 11:14

    Ein bischen kurz gegriffen. Der Code kann ja sauber sein. Dann erklärt er aber immer noch nicht immer Interdependenzen / komplexe Schnittstellen zwischen verschiedenen Modulen.

  6. Re: Großer Unterschied

    Autor: kopfspringer 15.02.13 - 11:14

    Hat einer von euch eigenlich schonmal mehr als eine Zeile echten Code abgeliefert?

    Ihr Helden!

    Codecomments sind essentiell wichtig!
    Ich rede da von professionellen Softwareprodukten und großen Entwicklungsabteilungen. Es kann dann durchauch passieren, dass ein bestimmter Teil oder Modul der Software jahrelang seinen Dienst tut und dann einem Redesign unterworfen wird oder im Zusammenspiel mit Neuerungen ein Fehler auftritt...

    Eine gewisse sauber gemachte Codekommentierung ist dann mehr als hilfreich, wenn ich nach Jahren an eigenen Code oder Code anderer die vieleicht schon lange das Unternehmen verlassen haben, ran muss.

    Wenn Die Software dann noch komplexe Strukturen wie bspw. ERP Prozesse abbildet, dann ist der Code in der Syntax eventluell noch verständlich, jedoch die Algorithmische bedeutung doch mehr als nebulös... Da sind Kommentare echt angebracht...

  7. "Tod durch Scrollen"

    Autor: renegade334 15.02.13 - 11:25

    Wenn's nach mir geht, tragen überflüssige Kommentare zum Tod durch Scrollen bei. Ich mag's nicht, wenn man für manch so Einiges eine eigene Zeile gönnt für "/**", "*/", "int x=0;" und für "public int getX(){return x;}" gleich 4 Zeilen verschwenden.

    Auch wenn es vor einer extrem langer Zeit an einem Gerät programmiert habe wo man beim Programmieren nur 6 Zeilen Code beim Editieren sieht. Trotzdem kann man mehr sehen, wenn man etwas kompakter schreibt. Ich wäre mehr begeistert, wenn man zum Beispiel sowas schreiben würde anstatt eine ganze Bildschirmhöhe dafür zu brauchen:
    public int getSize(){ return size;}
    public void setSize(String size) this.size=size;}
    public void stopServer() this.server.stop;}
    Haben wir gegenüber der konventionellen Schreibweise schon mal mindestens 6 Zeilen gespart. Kennt jemand schon einen Checkstyle, der mir unnötige zeilen kürzt?
    Für Euch ist das vielleicht noch ungewohnt, aber ich finde es leserlicher, da ich nicht zu stark daran gewöhnt bin, sehr schnell vertikal zu lesen.

    Okay, aber für Matheberechnungen finde ich Kommentare schon sinnvoll, damit ich den Ansatz wenigstens versteher. Und man programmiert wie so oft nicht selten allein ;-)



    2 mal bearbeitet, zuletzt am 15.02.13 11:30 durch renegade334.

  8. Re: "Tod durch Scrollen"

    Autor: BLi8819 15.02.13 - 11:35

    Getter und Setter kommentieren ist auch ganz schön Witzlos ;)
    Die lässt man sich einmal generieren und dann bleiben die ausgeblendet ^^

    Wichtig werden Kommentare bei komplexen Methoden oder mathematischen Funktionen, bei denen Hintergrundwissen Notwendig ist.

  9. Re: "Tod durch Scrollen"

    Autor: renegade334 15.02.13 - 11:42

    BLi8819 schrieb:
    --------------------------------------------------------------------------------
    > Getter und Setter kommentieren ist auch ganz schön Witzlos ;)
    > Die lässt man sich einmal generieren und dann bleiben die ausgeblendet ^^
    Ich find's auch komisch, dass Getter/Setter nie in eine Zeile geschrieben werden bzw. dass meistens 4 Zeilen deswegen in Anspruch genommen wurden ("Signatur", Nutzcode, dann "}" und Zwischenleerzeile). In persönlichen Code packe ich sowas in eine Zeile ohne leeren Zwischenzeilen falls kurz genug (Code-Statements mit Tabs auf eine Ebene gebracht).

  10. Re: Guter Code braucht keine Kommentare

    Autor: bstea 15.02.13 - 11:43

    Dafür ist eine Dokumentation da.
    Sollte das doch einer als Kommentar hinterlassen, würde ich schon seine fachliche Eignung hinterfragen.

    Was ich überhaupt nicht leiden kann ist, wenn die Kommentare zu viel Platz in Anspruch nehmen. Erst letztens hab ich den Code eines Chip8 Emulator eines Freundes refactored. Da wurde jeder Opcodes nochmals erklärt, was den Code unnötig aufgebläht und nichts mit Implementierung zu tun hatte.

    --
    Erst wenn der letzte Baum gefällt, der letzte Fluss gestaut und der letzte Fisch gefangen ist, werdet ihr feststellen, dass man Biber nicht essen kann!

  11. Re: "Tod durch Scrollen"

    Autor: theonlyone 15.02.13 - 11:57

    Programmiert man Test Driven hat man in aller Regel eine gute Dokumentation allein durch die TestAbdeckung.

    Will jemand wissen was eine Funktion macht muss nur der zugehörige Test betrachtet werden, bzw. ausgeführt.

    Parameter ordentlich zu benennen, das sie aussagekräftig sind ist auch etwas das viele nie gelernt habe.

    Da heißen die Paramter dann "x_1_y" und es ist total unklar was das sein soll.

    Grobe Dokumentation sagt einfach so kurz wie möglich was die Funktion machen soll.

    Sind ein paar "hacks" in der Funktion die nicht gewöhnlich sind, werden sie dokumentiert und SOWIESO mit einem entsprechend Zeichen versehen (da man solche hacks immer dokumentieren sollte, wenn möglich entfernen und durch standardisierte Lösungen ersetzen).


    Ein Algorithmus der sehr komplex ist muss entsprechend beschrieben werden, mit Beispielen wenn möglich (daher Test-Driven hat man gleich ein Anwendungsbeispiel).

    Macht man etwas in seinem Code das ohne Kommentar einfach unklar ist, sollte einem klar werden das diese Sache einfach schlecht gelöst ist (auch wenn einem auf Anhieb keine bessere Lösung einfällt, so MUSS diese stelle einfach gekennzeichnet werden).

  12. Re: Guter Code braucht keine Kommentare

    Autor: ruamzuzler 15.02.13 - 12:17

    Sehe ich auch so, vor allem wenn man irgendwelche Workarounds bastelt muss, weil das darunter liegende System buggy ist. Aber das kommt ja eh nieeee vor ...

  13. Re: Guter Code braucht keine Kommentare

    Autor: teenriot 15.02.13 - 13:26

    MaX schrieb:
    --------------------------------------------------------------------------------
    > Das seh ich anders. Kommentare nach dem Motto, "Hier mache ich XY" sind
    > nutzlos

    Ich finde es durchaus sinnvoll innerhalb einer Funktion Codeblöcke durch einzeilige Kurzkommentare abzutrennen um beim späteren Überflug auf Anhieb zu wissen was passiert wenn eine Funktion etliche Zeilen hat.
    Was ich nämlich nicht leiden kann ist die Aufsplittung von Codeblöcken in jeweils eigene Funktionen die dann doch nur einmal im Code aufgerufen werden und nur in einem bestimmten Kontext sinnvoll sind und nicht allgemein funktionieren.

  14. Re: "Tod durch Scrollen"

    Autor: teenriot 15.02.13 - 13:40

    renegade334 schrieb:
    --------------------------------------------------------------------------------
    > Wenn's nach mir geht, tragen überflüssige Kommentare zum Tod durch Scrollen
    > bei. Ich mag's nicht, wenn man für manch so Einiges eine eigene Zeile gönnt
    > für "/**", "*/", "int x=0;" und für "public int getX(){return x;}" gleich
    > 4 Zeilen verschwenden.
    >
    > Auch wenn es vor einer extrem langer Zeit an einem Gerät programmiert habe
    > wo man beim Programmieren nur 6 Zeilen Code beim Editieren sieht. Trotzdem
    > kann man mehr sehen, wenn man etwas kompakter schreibt. Ich wäre mehr
    > begeistert, wenn man zum Beispiel sowas schreiben würde anstatt eine ganze
    > Bildschirmhöhe dafür zu brauchen:
    > public int getSize(){ return size;}
    > public void setSize(String size) this.size=size;}
    > public void stopServer() this.server.stop;}
    > Haben wir gegenüber der konventionellen Schreibweise schon mal mindestens 6
    > Zeilen gespart. Kennt jemand schon einen Checkstyle, der mir unnötige
    > zeilen kürzt?
    > Für Euch ist das vielleicht noch ungewohnt, aber ich finde es leserlicher,
    > da ich nicht zu stark daran gewöhnt bin, sehr schnell vertikal zu lesen.

    Du vermeidest vertikales Scrollen führst damit aber horizontales scrollen ein.
    Denn wenn Methode und Parameter ordentlich benannt sind hat man nicht selten 120 Zeichen oder mehr bei einem simplen setter. Das schlimme ist das der eigentlich relevante Code außerhalb des nicht gescrollten 'Sichtfensters' liegt

    Es ist echt ein Problem das code conventions, die den Zweck haben Code leserlich zu machen bei strikter Anwendung oft das Gegenteil bewirken und sich teilweise widersprechen.
    Ausschließlich durch Regeln zu sauber anzusehenden Code zu kommen funktioniert leider nicht. Man braucht Gefühl für Regelbrüche um wirklich 'ästhetisch' zu werden.

    Beispiel:
    Ich empfinde es als ideal wenn ich meinen Code an keiner Stelle horizontal scrollen muss. Andererseits hasse auch ich die Platzverschwendung durch Boilercode. Und zusätzlich hätte ich gerne fast identitischen Codezeilen in Folge so formatiert das gleiche Parts exakt untereinander stehen.
    Dafür wird man keine einheitlichen regeln aufstellen können. Der Stil muss immer an Ort und stelle entschieden werden.

  15. Re: Großer Unterschied

    Autor: GodsBoss 16.02.13 - 08:38

    > Hat einer von euch eigenlich schonmal mehr als eine Zeile echten Code
    > abgeliefert?

    Ja.

    > Codecomments sind essentiell wichtig!
    > Ich rede da von professionellen Softwareprodukten und großen
    > Entwicklungsabteilungen. Es kann dann durchauch passieren, dass ein
    > bestimmter Teil oder Modul der Software jahrelang seinen Dienst tut und
    > dann einem Redesign unterworfen wird oder im Zusammenspiel mit Neuerungen
    > ein Fehler auftritt...
    >
    > Eine gewisse sauber gemachte Codekommentierung ist dann mehr als hilfreich,
    > wenn ich nach Jahren an eigenen Code oder Code anderer die vieleicht schon
    > lange das Unternehmen verlassen haben, ran muss.

    Noch viel besser helfen da ordentliche, leicht lesbare Unit Tests. Die sind vor allem deswegen besser als Kommentare, weil Kommentare und der Code, z.B. nach Änderungen, divergieren können, aber wenn die Unit Tests nicht mehr zum Code passen, schlagen sie fehl.

    > Wenn Die Software dann noch komplexe Strukturen wie bspw. ERP Prozesse
    > abbildet, dann ist der Code in der Syntax eventluell noch verständlich,
    > jedoch die Algorithmische bedeutung doch mehr als nebulös... Da sind
    > Kommentare echt angebracht...

    Gegen Dokumentation, die die Konzepte erklärt, will ich nichts einwenden, ist aber nicht das, was ich unter „Code Comments“ verstehen würde.

    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.

  16. Re: "Tod durch Scrollen"

    Autor: GodsBoss 16.02.13 - 08:55

    > Getter und Setter kommentieren ist auch ganz schön Witzlos ;)
    > Die lässt man sich einmal generieren und dann bleiben die ausgeblendet ^^

    Code-Generierung ist ein deutliches Signal für Mängel in der gewählten Programmiersprache. Ebenso können Getter-Setter-Paare Anzeichen für eine schlechte Struktur sein, wenn derartige Objekte tatsächlich ihre Innereien darbieten, weil das dem Prinzip des Information Hiding widerspricht.

    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.

  17. Re: "Tod durch Scrollen"

    Autor: Heinz Müllersen 16.02.13 - 10:29

    renegade334 schrieb:
    --------------------------------------------------------------------------------
    > public int getSize(){ return size;}
    > public void setSize(String size) this.size=size;}
    > public void stopServer() this.server.stop;}

    Hätten Sie mehrere Zeilen genutzt, dann wäre Ihnen beim Schreiben vermutlich aufgefallen, dass sie einige Klammern vergessen haben.

  18. Re: "Tod durch Scrollen"

    Autor: KleinerWolf 16.02.13 - 10:46

    hey Nase, wir haben heutzutage Monitore, die kann man um 90 Grad drehen. Wir arbeiten nicht mehr an 80x25 10" Bernstein Monitoren.

  19. Re: "Tod durch Scrollen"

    Autor: KleinerWolf 16.02.13 - 10:47

    owned :-P

  20. Re: Guter Code braucht keine Kommentare

    Autor: sknoche 16.02.13 - 15:21

    Naja, in dem Moment, in dem sich innerhalb einer Funktion mehrere "Code-Blöcke" befinden, tut diese bereits mehr als sie eigentlich sollte!

  1. 1
  2. 2

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Anzeige
Stellenmarkt
  1. nobilia-Werke J. Stickling GmbH & Co. KG, Verl
  2. MEIERHOFER AG, München, St. Valentin (Österreich)
  3. Vaillant GmbH, Remscheid (Home-Office möglich)
  4. ESG Consulting GmbH, München/Fürstenfeldbruck, Berlin

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote
  1. 699,00€
  2. (Core i5-6500 + Geforce GTX 1060)
  3. und Gears of War 4 gratis erhalten


Haben wir etwas übersehen?

E-Mail an news@golem.de


MacOS 10.12 im Test: Sierra - Schreck mit System
MacOS 10.12 im Test
Sierra - Schreck mit System
  1. MacOS 10.12 Fujitsu warnt vor der Nutzung von Scansnap unter Sierra
  2. MacOS 10.12 Sierra fungiert als alleiniges Sicherheitsupdate für OS X
  3. MacOS Sierra und iOS 10 Apple schmeißt unsichere Krypto raus

Rocketlab: Neuseeland genehmigt Start für erste elektrische Rakete
Rocketlab
Neuseeland genehmigt Start für erste elektrische Rakete
  1. Osiris Rex Asteroid Bennu, wir kommen!
  2. Raumfahrt Erster Apollo-Bordcomputer aus dem Schrott gerettet
  3. Startups Wie Billig-Raketen die Raumfahrt revolutionieren

Osmo Mobile im Test: Hollywood fürs Smartphone
Osmo Mobile im Test
Hollywood fürs Smartphone
  1. Osmo Mobile DJI präsentiert Gimbal fürs Smartphone
  2. Hasselblad DJI hebt mit 50-Megapixel-Luftbildkamera ab
  3. DJI Flugverbotszonen in Drohnensoftware lassen sich ausschalten

  1. Neues iPhone: US-Late-Night-Komiker witzeln über Apple
    Neues iPhone
    US-Late-Night-Komiker witzeln über Apple

    US-Komiker nehmen in ihren Talkshows seit der Vorstellung des iPhone 7 verstärkt Apple aufs Korn. Seien es die drahtlose Apple-Tasche, herumfliegende Airpods oder allgemeine Konsumkritik an dem Zwang, sich jedes Jahr etwas Neues zu kaufen.

  2. Festnetz: Weiterhin kein Internet ohne Telefonie bei der Telekom
    Festnetz
    Weiterhin kein Internet ohne Telefonie bei der Telekom

    Trotz Rückgang bei der Sprachtelefonie bietet die Deutsche Telekom keine reinen Internetzugänge an. Bündelangebote im Festnetz sind für den Netzbetreiber lukrativ.

  3. Zertifikate: Mozilla will Startcom und Wosign das Vertrauen entziehen
    Zertifikate
    Mozilla will Startcom und Wosign das Vertrauen entziehen

    Nach mehreren Problemen mit Startcom- und Wosign-Zertifikaten will Mozilla den Zertifikaten der Unternehmen offenbar das Vertrauen entziehen. Auch Google könnte diesem drastischen Schritt folgen.


  1. 19:12

  2. 18:52

  3. 18:34

  4. 18:17

  5. 17:51

  6. 17:25

  7. 16:25

  8. 16:08