Planen vs. Drauflosprogrammieren



  • Ich nehme auch gerade ein großes Projekt in Angriff.
    Ich bin aber noch dabei, mir Wissen anzulesen. Da male ich mir nebenbei schon ein paar UML Sachen auf und schriebe ein paar Ideen auf.
    Die werden dann immer mehr verfeinert und dann implementiert. Natürlich schließt das überhaupt nicht aus, dass beim implementieren neue und evtl. bessere Ideen entstehen 🙂



  • während des Programmieren kommen mir immer die besten Ideen

    Das geht mir auch so.
    Ich habe aber festgestellt seit dem ich in C++ mit Klassen arbeite muss ich nicht immer den ganzen Sourcecode verwerfen sondern kann diesen bequem erweitern.

    Ein gewisses Grundkonzept sollte man aber schon haben.
    Es ist dann auch recht einfach sein Programm zu erweitern.



  • who fails to plan, plans to fail.

    Ich denke auch, dass ein gut geplantes design besser ist als drauflosprogrammieren.

    Aber so richtig geplant ahbe ich auch noch nie.



  • Ich habe es schon oft genug bereut, nicht richtig geplant zu haben.



  • Hi alle zusammen ...

    Also ich kann den Leuten da nur zustimmen ..... sobald das Projekt größer
    würd als ein Taschnrenrechner z.b, ist planung sehr wichtig. Ohne planung kommt man nicht weit. irgendwann gelangt der Programmierer an einen Punkt an seinem Projekt, wo er merkt das da was nicht stimmen kann und dann ist die Motivation nicht mehr so groß 😉
    Also ich sach immer, wenn das Projekt für einem zu unüberschaubar wird, sollte man für sich einen Plan erstellen. egal wie der ausschaut .... ob UML Diagramme oder sonst was.

    cu



  • Also ich habe mal ab und zu vor den Anfaengen von Projekten versucht, den Verlauf, oder das Projekt irgendwie zu planen.. Also habe mir Skizzen gemacht, mir irgendwas aufgeschrieben, aber die Zettel sind ganz schnell in den Muell geflogen, weil ich sowieso nicht draufgeschaut habe.. Also war es dann doch wieder ein spontanes Drauflosprogrammieren.. 😃 Das einzige, was man bei mir immer Planung oder was weiss ich was nennen kann sind die Vorstellungen von dem Projekt in meinem Kopf... Der Rest ergibt sich einfach so... Aber meine Projekte sind auch nicht alle so gross.... Naja wer weiss.. 😃
    MfG Aoeke



  • Optimizer schrieb:

    Ich habe es schon oft genug bereut, nicht richtig geplant zu haben.

    Ja, ich gehöre auch zu den anonymen Nicht-planern... *bereu* 😞

    Ich bin schuldig! :p



  • Bei kleinere Sachen finde ich, geht es sogar noch ohne Kommentare im Quelltext (ja, schlagt mich dafür). Aber ich will mir angewöhnen, dass endlich vernünftig zu machen.



  • Kann mir mal jemand einen Plan von einem Projekt zeigen. Vielleicht ein paar der Skizzen einscannen oder so?



  • man kann doch z.B. die entitäten nicht einfach spontan benennen. da kommt doch nur muell bei raus. class design muss sinnvoll sein. patterns, factories, interfaces, ... alles sehr wichtig. 👍



  • Griffin schrieb:

    Bei kleinere Sachen finde ich, geht es sogar noch ohne Kommentare im Quelltext (ja, schlagt mich dafür). Aber ich will mir angewöhnen, dass endlich vernünftig zu machen.

    Sogar bei groesseren lasse ich die ( immer noch ) weg... :rolleyes .. Ich hatte mir mal angewoehnt, welche zu schreiben, aber irgendwann hatte ich keine Lust mehr dazu... 😃 Vor allem kann ich meine Gedankenzuege oftmals gar nicht erklaeren... Sachen gibts.... 🙄
    MfG Aoeke



  • eXtreme Programming basiert genau darauf einfach direkt drauflos zu programmieren, ohne einen genauen Plan zu machen. Insofern scheint es schon ein Stück weit zu funktionieren. Ich persönlich mache zwar auch lieber einen Grobentwurf und lege dann los, aber es geht auch ohne. Allerdings nutzt XP einige Techniken um das überhaupt zu ermöglichen. Refactoring hat Shade ja schon genannt, Voraussetzung dafür ist allerdings das konsequente schreiben von unit-tests... und alle Programmierer lieben Tests! 😃



  • extrem programming wird doch auch geplant oder nicht?
    zumindest meine ich es so gelesen zu haben. 😕



  • Jester schrieb:

    eXtreme Programming basiert genau darauf einfach direkt drauflos zu programmieren, ohne einen genauen Plan zu machen.

    Das ist IMHO nicht so ganz richtig bzw. erweckt einen falschen Eindruck von XP. Auch bei XP sind "Planungsspiele" vorgesehen. Diese legen zwar keinen "genauen Plan" fest, legen aber sehr wohl fest, was in die nächste Version der Software kommen muss, welche Termine eingehalten werden müssen, welcher technische Weg generell gegangen wird usw.! Es ist also auch hier kein "direkt drauflos programmieren" angedacht.



  • hat jemand dazu vielleichtg ein paar links, die gut und am besten noch in deutsch sind?



  • Im Planungsspiel wird hauptsächlich ermittelt was in das nächste Release bzw. in die nächste Iteration rein soll. Die Ziele werden in Tasks aufgeteilt und an einen Verantwortlichen gegeben. Eine wirkliche Planung im Sinne der Softwarearchitektur findet höchstens im Rahmen eines stand-up-meetings für die Dauer einer halben Stunde statt oder so. Mehr wird für gewöhnlich nicht geplant. Dafür muß man sich aber an einen Haufen anderer Dinge halten, weil sonst das Refactoring nicht funktioniert.

    MfG Jester



  • Jester schrieb:

    eXtreme Programming basiert genau darauf einfach direkt drauflos zu programmieren, ohne einen genauen Plan zu machen.

    Nein. Du planst nur so wenig wie möglich.
    In XP legst du dir keinen großen Plan an, sondern machst nur immer kurze Planungen - um flexibel zu bleiben.

    Drauflosprogrammieren widerspricht dem XP Prinzip "Tue das was nötig ist jetzt, aber nicht mehr. Tue alles andere später.". Wie willst du soetwas ohne Planung schaffen?



  • Shade Of Mine schrieb:

    Jester schrieb:

    eXtreme Programming basiert genau darauf einfach direkt drauflos zu programmieren, ohne einen genauen Plan zu machen.

    Nein.

    Nein?

    Wieso nein? Man macht keinen genauen Plan. Genau das hab ich geschrieben und Du sagst nein, man macht halt nur keinen genauen Plan. 😕

    Man plant die Flexibilität bei XP nicht, sondern vertraut darauf, daß sie sich dadurch ergibt, daß jederzeit Änderungen möglich sind (Refactoring unterstützt durch unit-tests). Dadurch entsteht die Flexibilität an den Stellen, wo sie gebraucht wird und nicht überall. Eben nur dort, wo sie nötig ist.

    MfG Jester



  • Jester schrieb:

    Nein?

    Wieso nein? Man macht keinen genauen Plan. Genau das hab ich geschrieben und Du sagst nein, man macht halt nur keinen genauen Plan. 😕

    Es wird hier vor allem der erste Teil deiner Aussage "man programmiert direkt drauflos" kritisiert. Die ist nicht richtig. Der zweite Teil mit dem genauen Plan ist Definitionssache und kann durchaus so gesehen werden.



  • Dann erklät mal, was man Deiner Meinung nach tut. Abgesehen davon geht es hier, wie der Titel sagt um Planen vs. drauflos programmieren. Und XP ist ganz eindeutig bei letzterem einzuordnen. Ich habe das Beispiel auch mehr aus dem Grund gebracht, weil es hier so aussah, als wäre es ohne eine ausführliche Planungsphase garnichts produzieren.

    Hast Du schonmal ein Projekt mit XP durchgeführt?


Anmelden zum Antworten