[linux-l] Re: refactoring

olafBuddenhagen at web.de olafBuddenhagen at web.de
Mi Nov 12 08:01:00 CET 2003


Hallo,

On Thu, Nov 06, 2003 at 08:54:59PM +0100, Olaf Radicke wrote:

> > Kein Zweifel am Nutzen von Refactoring.
> > 
> > Nur was ich mich schon immer frage: Was hat man davon das Buch zu
> > lesen? Was steht denn da nützliches drin? Kann mir irgendwie in
> > solch einem Buch nix vorstellen was nicht offensichtlich und
> > naheliegend ist...
> 
> Na, ist doch prima für dich!

Prima dass ich es nicht weiß?...

Kleiner Tipp: Das war keine rhetorische Frage; ich hatte tatsächlich auf
eine Antwort gehofft, und nicht auf dumme Kommentare :-(

Ich würde ja gerne was in dieser Hinsicht dazulernen. Nur frage ich
mich: Gibt es da wirklich etwas was man aus solch einem Buch lernen
kann?

Ich bin mal im Netz über ein begleitendes online-Angebot gestoßen; ich
bin mir nicht sicher ob es zu diesem Buch war, oder einem anderen zu
diesem Thema. Da war eine lange Liste mit konkreten Vorschlägen was man
umbauen soll. Da waren so geniale Dinge dabei wie: Auslagern eines
Codeblocks in eine Funktion... Ganz toll. Ich habe die ganze Liste
durchgesehen, und ich glaube nicht eine Sache gefunden, die mir nicht
absolut trivial schien.

Die Erklärungen, wann und warum man bestimmte Sachen machen soll, mögen
ja vielleicht für einen wenig erfahrenen Programmierer noch hilfreich
sein. (Obwohl ich mich frage ob man sowas nicht erst versteht wenn man
es "am eigenen Leibe" erfährt...) Aber das schärfste waren ja die
Erklärungen *wie* man einen Codeblock in eine Funktion auslagert... Das
fand ich einfach nur noch albern.

Nun frage ich mich: Besteht das ganze Buch aus diesem Quatsch? Oder gibt
es vielleicht doch noch was interessantes, was nicht offensichtlich ist?

Ich meine, was den meisten Leuten wahrscheinlich fehlt ist die Einsicht,
dass es sich überhaupt lohnt Refactoring zu machen; und dabei kann ein
Buch vielleicht helfen. Aber *wie* man das macht, kann man sowas aus
einem Buch lernen?

Nach meinem Verständnis geht es im Prinzip um nichts anderes, als den
Code regelmäßig aufzuräumen, so dass man ständig saubere Lösungen hat.
Im Endeffekt kommt es doch darauf hinaus zu erkennen, was eine saubere
Lösung ist. Und für sowas kann man doch eigentlich nur durch Erfahrung
ein Gefühl bekommen, denke ich...

Wie auch immer, es würde mich wirklich interessieren was da noch drin
steht. Kannst Du das Buch vielleicht mal mitbrigen?

> Aber ich programmiere auch erst seit zwei Jahren oder so.

Ich gebe zu, ich bin von einem einiger maßen erfahrenen Programmierer
ausgegangen... Für einen Anfänger sind manche Erklärungen vielleicht
nützlich, s.o.

Jedenfalls erklärt das Deine seltsamen Ansichten über gewisse Dinge :-P

> Aber so ganz nebenbei...daran erkennt man gute didaktische Bücher: Das
> man das Gefühl hat, das doch alles ganz logisch und selbstverständlich
> ist.

Das kann ich so nicht bestätigen. Tatsächlich ist es oft so das Dinge ja
so logisch und selbstverständlich scheinen... Und erst wenn man sie
benutzen will, merkt man, dass man eigentlich nix gelernt hat.

Tatsächlich ist das wesentliches Erkennungsmerkmal von
Coputerzeitschriften "für Dumme": Erklärungen die so stark vereinfacht
sind, dass sie Null Information enthalten, oder einfach nicht mehr
stimmen. Die Leute, die solchen Schund lesen, sind alle überzeugt, dass
es dort ganz toll erklärt wird, und sie alles verstehen. Wissen nur
dummer Weise nicht, dass das meiste was sie dort "erfahren" haben, mehr
oder weniger falsch ist... Nur wenn man als jemand, der wirklich Ahnung
hat, sowas liest, sieht man was für einen Quatsch die dort
zusammenschreiben.

Also Vorsicht bei Sachen die sich leicht lesen...

> Leider sind die Proger in der BeLUG z.Z. etwas unterrepresentiert.
[...]

Es ist eben eine *User*-Group, und die meisten betrachten es wohl auch
als solche... Das Thema ist wohl eher was für einen Programmierzirkel.

Andererseits gibt es doch einiges was spieziell ist an der
Programmierung unter Unix und GNU/Linux sowie an freier Software; und
eine LUG dürfte wohl der einzige Ort sein, wo man eine Chance hat, eine
größere Konzentration von Leuten mit solchen Interessen zu finden...

> Interessant würde ich es mal finden, wenn jemand über sein Projekt
> berichtet und erzählt warum er(sie) sich für diese oder jene Lösung
> eines Problems entschieden hat und welches Konzept er dabei verfolgt.

Also ich finde die Idee nicht schlecht; irgendwas in die Richtung
könnten wir ja mal machen.

-Olaf-



Mehr Informationen über die Mailingliste linux-l