Sorry, glaube wir sind schon ziemlich
OT, aber egal.
Zitat von
3_of_8:
Mein größtest Projekt hatte bisher 10000 LOC
Ok, was möchtest du mir denn damit sagen? Ich meine klar, Lines of Code sagen immer extrem viel aus, so grob gesagt gar nichts. Ich wette ich bekomme ein Projekt mit 100, 1000 oder 10000 Zeilen hin (selbe Funktionalität). Ist alles eine Frage der Zeilen. Was nachträgliches rüberlaufen lassen von einem Formater angeht, so klappt das vielleicht noch bei solchen kleinen Projekten, aber schon wenn du im Team arbeitest wird das etwas kritischer. Dann kommst du kaum um etwas wie ein
CVS (o.Ä.) herum. Hier sollte Code immer so stehen, dass er zu jedem Zeitpunkt benutztbar ist. Ein bissel kommentieren ist da im Nachhinein nicht möglich. Es arbeiten einfach mal verschiedene Menschen am selben Abschnitt Code. Genau da kommt ja auch das C in
CVS her. Wenn hier jmd. keinen Kommentar hinterlässt, dann weißt du einfach mal nicht wozu was genau gemacht wird. Da werden dann schnell ein paar wichtige Zeilen ersetzt, die nie hätten verändert werden sollen. Noch schöner ist es, wenn (wie so ziemlich immer) der erste Entwurf von Schnittstellen nachgebessert werden muss. Da macht es dann Spaß zu schauen, was eine unkommentierte Methode genau macht und ob sie für einen neuen Entwurf noch benötigt wird oder eben nicht.
Wie gesagt, ich weiß nicht welche Erfahrungen du da schon gemacht hast, früher oder später denke ich wirst du dann diese machen: "Mach es lieber gleich richtig!"
Der Satz stammt nicht von mir und ich habe mich auch lange genug nicht dran gehalten, aber es ist einfach so, dass du nie genug Zeit hast etwas im Nachhinein zu veränden. Wenn du an einem größeren Projekt für Geld arbeitest, dann gibt es in der Regel sehr konkrete zeitliche Vorstellungen. Bei einem aktuellen Projekt von mir, gehen unsere Kunden damit zu eigenen Kunden. Da sind dann wirklich Termine mit ihren Kunden abgemacht. Zudem schläft die Konkurrenz nicht, wenn die zu lange auf ihre Software warten, werden die sicherlich nicht mehr all zu viel Erfolg auf dem Markt haben. Fällt dies auf uns zurück, so kann ich mir dann auch schneller einen neuen Job suchen als mir lieb wäre. Fällt jetzt jmd. z.B. Krankheitsbedingt aus, so darf es hier also nicht zu einem unnötigen zeitlichen Engpass kommen. Würden hier alle Kommentare nachträglich eingefügt werden...
Ein weiteres Problem ist, dass die Softwareentwicklung immer agil bleiben sollte. Gerade wenn deine Kunden nicht aus der IT kommen, wirst du häufiger als du vielleicht glaubst das Problem haben, dass unklar ist was gemacht werden soll. Es gibt immer sehr grobe Vorstellungen, z.B. wir wollen eine Auswertung und einen Ausdruck. Wenn du daraus schließen kannst, wie die beiden Aussehen, dann stimme ich dir zu, mache alles nachträglich. In der Regel ist es aber so, dass du von Zeit zu Zeit ein wenig an der Vorstellung deiner Kunden vorbei entwickelst. Damit es nicht stark abweicht (dann wäre das Projekt für den ...) wirst du also in möglichst kurzen Iterationen eine Vorstellung beim Kunden abliefern und hier über neue Richtungen reden. Kann auch sein dass du 100%ig das Richtige tust, aber die Gewissheit tut gut! Wichtig ist, dass hier schnell Prioritäten gesetzt und geändert werden können. Davon profitieren dann wirklich beide Seiten. Da du aber weiterhin ein Zeitfenster hast, dass i.d.R. größer sein könnte, hast du einfach nicht die Zeit etwas im Nachhinein zu korrigieren. Alles was du nur als Prototyp erstellen wolltest, fließt dann plötzlich doch in die finale Version ein (ohne jede Veränderung).
So schön in solchen Fällen theoretische Evolutionsmodelle sind, sie sind in der Praxis nicht immer realisierbar.
Ok, sorry, ist wohl etwas umfangreicher
OT gewurden. Meine das alles wirklich nicht als böse Kritik sondern als nett gemeinte Anregung. Um es einfach zu sagen, ich habe im Moment einen gewissen Einfluss auf Personalentscheidungen (natürlich nur in der einen Firma in der ich arbeite), aber da kann ich sagen, dass diese Arbeitsweise auf mich einen Einfluss hätte. Und ich denke es gibt da noch andere Menschen die ähnlich handeln.
So, damit lasse ich dich auch damit in Ruhe. Wie du deinen Code gestaltest ist und bleibt natürlich weiterhin deine Sache!