icancode.de

Internet

Bruce Lee – Kampfkunst für Entwickler

Veröffentlicht am .

Bruce Lee – Kampfkunst für Entwickler

Einleitung

Blogs habe ich schon immer gern gelesen. Seit ich aktiv blogge, füllt sich mein Feedreader immer mehr. Neulich stieß ich auf einen Artikel von Thomas Chau aus New York. Der Artikel trägt den Namen »Bruce Lee was a programmer« und listet eigentlich nur einige Zitate von Bruce Lee auf. Der spannende Fakt ist, wie genau sich diese Zitate auf moderne Softwareentwicklung beziehen.

“Adapt what is useful, reject what is useless, and add what is specifically your own.”

Thomas übersetzt dieses Zitat mit den Worten:

Don’t reinvent the wheel. Import that fuckin‘ library.

Erfinde das Rad nicht neu. Nutz die verdammte Library! Recht hat er. Jedenfalls zu einem gewissen Punkt. Wie ich unlängst feststellen durfte, sind Libraries immer so eine Sache. Ja, es geht schnell aber passt auch die Lizenz zu meinem eigenen Projekt oder kann ich sicher sein, dass da nicht im Hintergrund irgendwelcher Schabernack mit den eingeben Daten getrieben wird? Oft sind die Libs, die man so findet auch völlig überladen. Das Rad neu zu erfinden wäre also wirklich totaler Unsinn. Braucht ihr aber nur ein Rad, dann holt euch nicht direkt ein ganzes Auto – schließlich wollt ihr eigentlich ein Fahrrad bauen.

“All fixed set patterns are incapable of adaptability or pliability. The truth is outside of all fixed patterns.”

Dieses Zitat wird wie folgt von Thomas in einen Softwarekontext gesetzt:

There’s no silver bullet. There are no absolute design patterns. Every abstraction has its exceptions.

Dem ist eigentlich nichts hinzuzufügen. Also lasse ich das einfach so stehen und ihr lasst es ein bisschen auf euch wirken. Sehr ihr das ähnlich?

“If you spend too much time thinking about a thing, you’ll never get it done.”

Die Übersetzung von Thomas ist auch wieder direkt und passend:

Just SHIP IT. Don’t over-engineer or overthink the damn thing.

In jedem von uns steckt ein kleiner Perfektionist. Mag das Programm auch noch so klein sein, es soll perfekt sein. Guter Code, coole GUI und natürlich all die tollen Features die wir uns vorgestellt haben. Irgendwo ist einfach genug. Das Ding muss raus. Später ist auch noch Zeit um Features einzubauen. Wofür gibt es schließlich Updates? ;)

“It is not a daily increase, but a daily decrease. Hack away at the inessentials.”

Was sollen wir da weghacken? Im Artikel wird es wie folgt beschrieben:

 Delete code. Refactor, refactor, refactor. Less code is better code. Simplify that feature. Do they really need that checkbox?

Werdet euren überschüssigen Code los. Aufgeblähte Programme sind schwerer zu verstehen und schwerer zu warten, wer mal in ein bestehendes Großprojekt gucken durfte, hat das wahrscheinlich auf die harte Tour lernen dürfen. Wie Thomas schon sagt: Refactor, Refactor, Refactor! Gleiches gilt übrigens auch für Design. Userfreundliches Design definiert sich nicht über drölf Bazillionen Einstellungsmöglichkeiten, sondern dass es schnell ans Ziel führt.

[youtube]TQ683zlrUSI[/youtube]

Empty your mind, be formless. Shapeless, like water. If you put water into a cup, it becomes the cup. You put water into a bottle and it becomes the bottle. You put it in a teapot, it becomes the teapot. Now, water can flow or it can crash. Be water, my friend.”

Das Zitat darf natürlich nicht fehlen. Im Originalartikel gibt es hierzu keine Übersetzung. Dabei trifft es doch auf den Kampfkünstler gleichermaßen zu, wie auf den Softwareentwickler.

Sei flexibel. Pass dich deinem Projekt – deinem Kunden an. Kein Projekt ist wie das andere.

Titelbild: Flickr – Chris Zielecki

Rico Magnucki

Rico Magnucki

http://magnucki.de

21st Century Digital Boy und Blog-Gründer. Studiert naturwissenschaftliche Informatik in Bielefeld. Auf dem Blog ist er der Ansprechpartner für LaTeX, schreibt Tutorials, dreht die Videos für YouTube und durchforstet das Internetz nach spannenden Dingen.

Navigation