Die schwierigste Aufgabe für Softwareentwickler – Link der Woche

Auf Quora gab es vor einiger Zeit eine sehr interessante Umfrage: What is the hardest thing you do as a software engineer? Die erstaunliche (oder eigentlich offensichtliche 😉 ) Antwort der meisten Entwickler ist: Dinge benennen.

Sogar noch vor Antworten wie „Aufwand schätzen“ und „mit dem Code anderer Entwickler arbeiten“!

Phil Johnson hat die Ergebnisse der Umfrage in einem schönen Diagramm dargestellt: Don’t go into programming if you don’t have a good thesaurus. Und Hartmut Schlosser hat die Ergebnisse noch einmal auf deutsch zusammengefasst: Was ist das größte Problem für Programmierer? Gib mir einen Namen!

Bei uns ist die häufigste Diskussion im Pair Programming tatsächlich auch die Benennung von Dingen! Wie seht ihr das? Habt ihr auch Probleme mit der Benennung eurer Variablen, Methoden und Klassen?

2 thoughts on “Die schwierigste Aufgabe für Softwareentwickler – Link der Woche

  1. Ganz klar: jein! 😉

    Manchmal ist es einfach schwierig den passenden, sprechenden Bezeichner „zu finden“ der nicht alleine die komplette Zeilenlänge ausfüllt. Meistens, so konnte ich das zumindest bei mir beobachten, deuten imho Schwierigkeiten bei der Bennenung von Dingen darauf hin, dass irgendwelche Designfehler vorliegen. Das dann gerne in 2 Ausprägungen:

    Die Klasse/Methode/etc. macht „zuviel“ (Was auf Verletzung der SoC
    oder des SRP hindeutet)
    Die Komponente macht „irgendwie nichts
    richtig“, was zeigt das man sie in dieser Form auch weglassen ann.

    Eigentlich sollte es gar nicht so schwer sein einen treffenden Bezeichner zu finden. Man hat sich ja schließlich vorher auch Gedanken gemacht, was beispielsweise die Methode X eigentlich machen soll und gießt das dann in natürliche Sprache. Wenn man sich dann auf das wesentliche beschränkt (calculateValue() statt addXMultiplyYdoStuff()) bleibt der Code auch lesbar … hoffe ich 😀

  2. Hallo Sebastian. Das sehe ich ähnlich. Eigentlich sollte das alles kein Problem sein 😉 Aber spätestens bei der Diskussion mit anderen Entwicklern stelle ich dann häufig fest, dass die eigene Benennung doch nicht so selbsterklärend war. Ein weiterer Grund für Pair Programming 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax