11 Programmierregeln

11 Programmierregeln für jedermann

JaxEnter: https://jaxenter.de/11-programmierregeln-fuer-jedermann-17331

Original-Blogpost: 11 Rules All Programmers Should Live By - Simple Programmer

Im Grunde alles selbstverständlich, aber sich daran zu halten ist eine andere Sache…

Unglaublich. Heißluftgeneratoren werden immer leistungsfähiger.

1. Technologie ist nicht DIE Lösung, sondern der Weg zu ihr

Noch nicht gewusst, Grashüpfer? Technologie ist der Weg zur Lösung! Wahnsinn!!

2. Cleverness ist der Feind von Klarheit

Aber nicht immer. Mal so, mal so. Ganz wichtig.

3. Schreibe Code nur dann, wenn du unbedingt musst

Oder du dafür bezahlt wirst. Oder weil eine Tastatur vor dir steht.

4. Kommentare sind (meistens) böse

Blödsinn: die Kunst ist, die richtigen Kommentare zu schreiben.

5. Sei dir immer im klaren, was du mit dem Code erreichen willst, bevor du mit dem Schreiben beginnst

Und zieh dir warme Socken an im Winter. Und streife das Kondom über, BEVOR es zur Sache geht.

6. Teste den verdammten Code, bevor du ihn auslieferst

Bla bla bla. Ganz was neues. Seit 10 Jahren TDD und jetzt diese Erkenntnis.

7. Lerne jeden Tag etwas Neues

Der übliche Shit: Bla bla bla. Verdiene jeden Tag deine Kohle.

8. Code zu schreiben macht Spaß

Aber nur dann, wenn man unbedingt muss (siehe 3)

9. Du kannst nicht alles wissen

Eine Binsenweisheit: - fängt sogar richtig an der Paragraph. Nur warum hat niemand dem Autor gesagt, dass Binsenwahrheiten nur von kompletten Vollidioten in Listen aufgenommen werden, wenn diese dann 11 items haben.

10. Best Practices sind Kontextabhängig

Ja da leck mich doch…ich dachte immer…wow… Neumodisches Wort, “kontextabhängig”, immer gut bei der Produktion von aufgeblasenem verbalem Schrottschmodder

11. Strebe immer nach Vereinfachung
Ein weiteres geflügeltes Word: - als Wort wäre das eine weitere Binsenweisheit. Leider falsch: du sollst nach Geld, Frauen, Luxusautos und die Demütigung und Vernichtung deiner Gegner streben.

Entspricht dieses Regelwerk Ihrer eigenen Mentalität und Arbeitsweise? Haben Sie Ergänzungen? Teilen Sie es uns in den Kommentaren mit!

  1. Erst die Socken, dann die Schuhe.

*** Edit ***

Ich fand das jax / java-magazin schon immer auf perverse Art faszinierend, weil sich da scheinbar die Leute versammeln, die das Aufgeblasene Tech-Geschwätz zur Perfektion treiben wollen

Der deutsche Übersetzer

Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de.

Der Originalautor

I am a:

Software Developer
Published Author
Professional Speaker
Entrepreneur
Podcaster
Blogger
YouTuber
Consultant
Life Coach for Software Developers

[quote=Bleiglanz]Unglaublich. Heißluftgeneratoren werden immer leistungsfähiger.[/quote]Wenigstens weis ich jetzt, dass Du die Punkte nicht verstanden hast…
:frowning:

bye
TT

na ja, wenn einer der laut seinem LinkedIn Profil schon seit 6 oder 7 Jahren nicht mehr programmiert (weil „Life Coach“, „Youtuber“,…) dir den Rat gibt:

Schreibe Code nur dann, wenn du unbedingt musst

dann hat das schon was.

Ah, der verborgene Tiefsinn wird mir für immer unbegreiflich sein. Hören sich ja auch schon verdammt schwierig und kompliziert an, die 11 Hammerpunkte.

Vielleicht sollte man sich an den Original Blog halten und dessen Inhalt diskutieren anstatt den Uebersetzer und seine “Karriere”.

Kann an diesen Regeln erstmal nix negatives bzw. falsches erkennen.
Manches ist bzw. offensichtlich sein, aber wenn man darueber reden muss ist es das wohl (noch) nicht.

[quote=Bleiglanz]na ja, wenn einer der laut seinem LinkedIn Profil schon seit 6 oder 7 Jahren nicht mehr programmiert (weil “Life Coach”, “Youtuber”,…) dir den Rat gibt:[/quote]Der Rat ist also falsch, weil der Falsche ihn gibt (abgeschrieben hat)?

bye
TT

*** Edit ***

[quote=maki;113876]Kann an diesen Regeln erstmal nix negatives bzw. falsches erkennen.[/quote]wie @Landei schon schrieb, alles eigentlich Selbstverständlichkeiten, nur bei der Umsetzung ist mit unter das eigene Ego im Weg…

bye
TT

um nicht zu sagen Banalitäten. Teste deinen Code. Lerne was Neues. Coden macht Spaß, aber Code nur wenn du musst.

Kann ich mitmeckern? :wink: :smiley:

  1. Best Practices sind Kontextabhängig

ist falsch geschrieben.

Entweder: 10. Best Practices sind Kontext abhängig (Neue Deutsche Rechtschreibung)

oder: 10. Best Practices sind kontextabhängig (alte Variante)

[/Klugscheiß-Modus]

Bleiglanz hat aber doch Recht, denn Bahn brechend Neues hat man da nicht vom Stapel gelassen…

wie bitte nachdem gerade selber etwas korrigiert? ist das bewußte Mode oder irgend eine neue korrekte Schreibweise für ‚bahnbrechend‘?
geht in die gleiche Richtung wie Kontext abhängig, extra deswegen?

Kontext abhängig nun nochmal nachgeschaut, ist das überhaupt ohne ‚vom‘ erlaubt?


hatte mich vorher schon bei

gewundert, fügen irgendwelche Tools Leerzeichen in bekannte Wörter wie ‚mitunter‘ ein?
so entstehen doch ganz neue Sätze, die man anders liest

… hat irgendwer behauptet es waeren bahnbrechende Neuigkeiten? :wink:

Landei selbst sagte doch schon im Eroefffnungspost:

Oder geht es jetzt um Uebersetzer und deren Karriere, Rechtschreibung usw.?

Nee, ist wirklich einfach nur falsch…

Für uns ist alles selbstverständlich. Aber für einen Studenten, der bisher jede einzelne Codezeile kommentieren und das Rad ständig neu erfinden musste, durchaus interessant. Anfänger-Tutorials werden auch nicht mit “ist doch klar” und übermäßigem Sarkasmus kommentiert.

der Anspruch ist schon etwas allgemeiner, richtet sich an alle,
einige Punkte wie ‚2: Clever is the enemy of clear‘ sind besonders für in Selbstbetrachtung vielleicht schon Profis zur Reflektion ihrer Master-Skills…

zu ‚11: Always strive to simplify‘ ein Zitat herausgepickt

Any fool can create a complex solution to a problem. It takes extra effort and care to refine a solution to make it simple, but still correct.

und dass auch in komplexen Libraries offensichtlich langjähriger Programmierer viel Müll steht ist ja allgemein anerkannt


solche Blog-Ratgeber richten sich generell eher an andere Durchblicker als Publikum,
die auch sonstige komplizierte Blog-Fach-Einträge wie ‚Does Manual Testing Have a Future?‘ lesen,
da verirrt sich ein Anfänger und Tutorial-Sucher nicht so leicht hin,
Tutorials sind nüchterner formuliert

kann sich also jeder angesprochen fühlen

oh Meister - erhöre mich und nimm mich als Deinen Lehrling auf

Also wirklich, wenn einer anfängt mit dem Programmieren, dann hat er nach 4 Wochen doch schon folgende Erleuchtungen

  1. nicht immer sofort Quelltext schreiben, ab und zu vorher nachdenken, so mit Blatt Papier

  2. hey, macht manchmal echt Spass

  3. gar nicht so leicht, Kommentare zu schreiben: was soll man da hinschreiben?

  4. Fehlersuche ist echt nervig, warum reden eigentlich alle von Unit-Tests

  5. Boah, was man alles nicht kennt, das ist ja alles so riesig, es ist zum Verzweifeln, her mit dem Alkohol

  6. Boah, manchmal kann man einen Haufen Codezeilen einsparen, wenn man die Bibliotheken kennt

  7. Fuck - es hat überhaupt keinen Sinn, Gleichzeitig Go, Swift, C#, Javascript und Java zu lernen

  8. ein schönes Gefühl, wenn man Quelltext vereinfachen, kürzer und klarer machen kann!

Wie gesagt, nach ein paar Wochen Programmieren (sagen wir so 8-10h am Tag) dürfte das vielen Anfängern schon aufgehen.

Was wirft das eigentlich für ein Licht auf unseren Berufsstand, wie diese Binsenweisheiten von einem “alten Hasen” als super-Dupi “Regeln des Programmierens” verzapft werden?

Und Clean Code ist auch nur eine Ansammlung von Banalitäten - spätestens in der 5. Woche ist man auf alle Vorschläge von Robert C. Martin selbst drauf gekommen und setzt diese instinktiv um.

Mal im Ernst, wenn man sich nur die Überschriften durchliest, kann man sich schon darüber lustig machen. Programmieren macht Spaß, und Schokolade schmeckt lecker. Aber wenn man sich nur ein wenig umschaut, merkt man, dass selbst erfahrene Entwickler diese “Regeln” nicht befolgen.

  1. Das merkt man gerade in der JS Community. Zu viel Zeit wird damit verschwendet, nach dem BESTEN Framework zu suchen. Oh, ich habe was in Angular gebaut, aber React ist doch so viel besser…

  2. Wie viele unsinnige Utils-Methoden bei uns per Hand geschrieben wurden, die in jeder Apache/Guava Lib drin sind…

  3. Der Tipp sagt doch nur, dass man auch wieder selbst etwas programmieren sollte. Zu viele Leute gehen ihrem 9-5 Job nach und haben jegliche Begeisterung verloren.

Regel 12: Aufhören, endlos über Banalitäten zu meckern. Ich weiß, eigentlich selbstverständlich.

Eine Regel, deren Befolgung dazu geführt hat, dass eine Witzfigur wie der Dalai Lama heute von vielen verehrt wird:

Die Dinge laufen nun einmal nicht so, wie wir uns das vorstellen.

Da alles ständig im Wandel ist, kann nichts auf Dauer unverändert existieren.

usw. usf.

Mich stört eben die Unterkomplexität und das Tautologische. Die 11 Regeln sind ja so simpel, die könnte man sofort umschreiben zu 11 Regeln für Metzger oder Schreiner oder Herzchirurgen. Völlig banal. Trivial. Platitüden.

  1. Technologie ist nicht DIE Lösung, sondern der Weg zu ihr
  2. Cleverness ist der Feind von Klarheit
  3. Schlachte Schweine nur dann, wenn du unbedingt musst
  4. Kommentare sind (meistens) böse
  5. Sei dir immer im klaren, was du mit der Schlachtung erreichen willst, bevor du das Schlachtermesser in die Hand nimmst.
  6. Prüfe ob dein Messer auch scharf ist, bevor du loslegst
  7. Lerne jeden Tag etwas Neues
  8. Tiere schlachten macht Spaß
  9. Du kannst nicht alles wissen
  10. Best Practices sind Kontextabhängig

Wau wau wau.

Klasse die 11 Regeln habe ich in 3 Minuten verstanden. Also braucht es vielleicht 5 Minuten um vom Idioten zum Programmierer zu werden. hehe

Nach 10 Jahren in der Branche ist mir der Unterschied immer noch nicht ganz klar - auch bei mir selber. Wenn ich 5 Minuten alten Code von mir anschaue, dann frage ich mich manchmal, was sich in der Zwischenzeit verändert hat.