[linux-l] Sauberes Programmieren (war: Sort parallelisieren)

Volker Grabsch vog at notjusthosting.com
Di Jan 9 13:43:08 CET 2007


On Mon, Jan 08, 2007 at 05:50:11PM +0100, Oliver Bandel wrote:
> Was ich interessant fand, war die Sache mit dem RAII.
> War mir ein neuer Begriff, ein kurzes Googeln brachte interessante
> Texte zum Vorschein.
> Aber nur weil das RAII interessant ist,muß esC++ nicht sein,
> bzw. deswegen muss ich mir nicht meine kostbare Freizeit vermüllen
> mit C++.

Es gibt noch ein paar andere Prinzipien, aber RAII ist das wichtigste.
C++ hat schon ein paar nette Sachen, aber hätte ich die Wahl, würde
ich wahrscheinlich auch Ocaml nehmen.

> > Viel professioneller ist aber: Unter diesen Umständen mache (1), sind
> > die Umstände soundso, mache lieber (2), ansonsten besser was ganz anders.
> 
> Eben.
> Aber mach das mal Leuten klar. Kunden zum Beipiel.

Kunden sind ein schlechtes Beispiel. Die brauchen eine funktionierende
Lösung, und sollten nicht unnötig mit den Entwicklungs-Details genervt
werden. Ich meine, deswegen lassen sie's ja auch entwickeln, statt es
selbst zu machen.

> Die wollen eine klare Aussage, und besser eine unsinnige,
> aber man behauptet das auf jeden Fall, als daß man daher
> kommt und sagt: "möglicherweise so, möglicherweise anders".

Wenn man sich nicht sicher ist, was das beste für den Kunden ist, fragt
man halt nach. Und zwar nicht "soll ich Design-Muster A oder B
anwenden?" Sondern die Anforderungen genauer klären, sodass man dann
eine Wahl treffen kann.

Kriegt man vom Kunden die nötigen Infos nicht, muss man sich selbst
einen Kopf machen. Egal, wie man sich entscheidet, mit hoher
wahrscheinlichkeit ist es besser als dass, was der weniger versierte
Kunde entscheiden würde.

Selbst, wenn der Kunde die Wahl treffen muss, dann legt man ihm eben
die Alternativen dar, und die praktischen Konsequenzen. Vor- und
Nachteile kann dann der Kunde abwägen, und zwar anhand praktischer
Kriterien und nicht via Buzzword-Bingo.


Nee, die Leute, denen man das klar machen muss, sind Programmierer
und/oder Entwicklungsleiter. Wobei die das eigentlich wissen sollten.
Bei manchen Hypes ist es aber auch für die, die im Thema stecken, nicht
immer sofort klar, ob das ne gute Idee ist oder nicht. Manche sind
einfach zu gut darin, kritische Aspekte zu vertuschen. Dann muss man
sich darauf konzentrieren, welche Probleme *nicht* angesprochen werden,
um den Knackpunkt zu finden.


> > Für lezteres braucht man nämlich wirklich umfassende Erfahrung, und
> > nicht nur eine handvoll Tricks, die bei ein paar eigenen Projekten
> > zufällig gut gelaufen sind.
> 
> Gute Arbeit kann man eh nicht in Worte fassen, sondern nur machen
> oder nicht machen.

Ich denke schon, dass man Tipps und Leitfäden von erfahrenen Leuten
annehmen kann, und dass sie einem weiterhelfen. Und man kann die eigene
Arbeit und Arbeitsweise anderen zeigen und sich ihre Meinungen anhören.
Ist auch ganz interessant.

> > Jeder Anfänger kann unverständliches Zeug schreiben. "de-obfuscation"
> > des eigenen Codes ist das, was den professionellen Programmierer
> > ausmacht, oder?
> 
> Nö, garnicht erst Unsinn verzapfen ist weit besser.

Ja, das war etwas krass ausgedrückt. Natürlich bemüht sich ein guter
Programmierer, guten Code zu schreiben. Aber Tatsache ist auch, dass
man dies niemals gleich auf Anhieb schafft. Irgendwann kommt der
Zeitpunkt, wo man größere Verbesserungen anstreben muss, und davor
darf sich ein guter Programmierer nicht fürchten. Diesen Vorgang meinte
ich mit "de-obfuscation".


Viele Grüße,

    Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR



Mehr Informationen über die Mailingliste linux-l