• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

(Hobby-) Projektplanung: Wie geht Ihr vor? Diskussion

KaPiTN

♪♪♫ wild at heart ♪♫♫♪

Registriert
14 Juli 2013
Beiträge
29.138
Ich habe im Rahmen der Pgrogramierherausforderung Mühle-Spiel die Frage gestellt, wie die User hier ihre Projekte planen und denke, daß diese Diskussion einen eigenen Thread verdient.

Meine Bemerkung dazu war:

Ich persönlich mache die Entwicklungsumgebung ja erst recht spät auf und 'code' dann recht zügig, weil ich erst einmal die Teilbereiche definiere und dann Modellierung und Strukturierung durchführe.

Näheres dazu im besagten Thread.

Aber egal, ob ihr Euch auf die Aufgabe aus diesem Thread bezieht, oder ob Ihr allgemein etwas dazu sagen wollt, ich bin gespannt, wie die unterschiedlichen Strategien aussehen.
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.573
Im Grunde ist das vorgehen bei mir in etwa so:
Erfassen der Problemstellung bzw. das Grundzüge zu verinnerlichen was ich überhaupt umsetzen möchte. In diesem Fall gibt es klare Vorgaben und (Spiel)regeln an denen man sich orientieren kann.

Sind diese soweit verstanden und man hat die Basics im Kopf und es gibt keine Fragen hierzu, habe ich zum Beispiel angefangen mir Gedanken darum zu machen wie man eine Datenstruktur definiert für den Aufbau des Spielfeldes, Grundlagen wie ich vielleicht schon etwas diesbezüglich vereinfachen kann.

Dann habe ich mir überlegt welche Sprache die Probleme die ich sehe, am einfachsten angehen kann, unter Einbeziehung meiner ersten Gedanken.

Meine Entscheidung das mit Javascript umzusetzen liegt deßhalb nach Überlegungen nah für mich, weil ich...:
- ... es grafisch umsetzen will und der Browser dafür sehr sehr gute Grundlagen bietet, heißt viel UI Code fällt flach
- ... ich die Sprache "leichter" finde als C mit einer Grafik-Lib zu verwenden oder mit Speichermanagement und Co herumzuhantieren
- ... Python zwar schön finde, aber es nicht dort schreiben wollte
- ... finde das Javascript genug Grundlagen hat die einem viele Probleme von Haus aus abnehmen/vereinfachen, ähnlich wie die Python-Standardbibliothek, was bei C so nicht der Fall direkt ist
- ... eine Browservariante generell interessant finde, falls man den Code publik macht

Mir sind auch Nachteile bekannt die gegen Javascript bzw. das Browser-Environment sprechen, aber die sind nicht zwingend erforderlich. Zum Beispiel das man keine Daten speichern um zum Beispiel ein Savegame zu haben, was dann nur über SessionStore geht und nicht in Form einer externen Datei.

Nachdem ich dann die Sprache gewählt habe, fange ich eigentlich schon an zu programmieren.
Die Details in welche Funktionen ich etwas unterteile, enstehen während ich entwickle. Das heißt ich überlege mir nicht vorher direkt, das ergibt sich aber aus den Spielregeln die man hoffentlich abarbeitet, das ich eine Funktion "movePiece" brauche oder "removePiece" oder "setPiece" - das man so etwas benötigt, ergibt sich wie gesagt aus den Anforderungen des Spiels. Ich denke auch nicht das man alles bis ins Detail planen muß bzw. auch kann. Es reicht wenn man gute Grundlagen hat auf die man aufbaut bzw. die sich je nach "gefundenen" Problemen erweitern bzw. weiternutzen lassen.

Auch wenn das zu sehr spontanen Entscheidung führt - was ich aber nicht als Risiko sehe, sondern gerade als die Herausforderung wie man ein Problem löst und es "abarbeitet".

Etwas Code-Style Talk, aber es passt mir irgendwie auch ins Thema:
Was mir persönlich aber passiert - ich tendiere dazu vieles erst mal nur "runter zu schreiben", wenn ich eine Status mehr in der Datenstruktur benötige, erweitere ich diese. Merke ich 10 Minuten später das sich der Wert durch etwas anderes "ableiten" oder vereinfachen lässt, nehme ich es wieder raus.
Genau so ist es mit Optimierungen, ich versuche schon ein wenig "vor zu arbeiten", aber wie sagt man so schön "pre mature optimization is the root of all evil", was so gut heißt wie - mach es erst richtig(!), was ich natürlich teste, und dann überlege ich mir ob mir noch etwas zu optimieren daran einfällt bevor ich auf die nächste Regel/Funktion springe, oder ich teste anderen Code/Ideen aus ein Problem zu lösen/anaylisieren und das was hinterher besser "aussieht" nach meinem Kenntnisstand, bleibt.

Natürlich werden Funktionen im Laufe der Zeit noch etwas erweitert, aber ich versuche schon die Funktionen abstrakt und aufgabenspezifisch zu halten. Okay, aber das geht jetzt auch in Richtung Coding-Style und das hat ja nichts mit der Projektplanung zu tun.
 

Roin

Freier Denker

Registriert
22 Juli 2013
Beiträge
581
Mein Vorgehen ist da etwas ... spontaner.
Ich sehe ein Problem oder kriege eine Aufgabe, die es zu lösen gilt.
Bevor ich anfange zu programmieren wird erstmal gelesen, was für Regeln es gibt (Beispielsweise hier die Spielregeln). Sind die verstanden wird sich direkt daran gemacht ein Grundgerüst zu schreiben. Eine main, von der ich alles mögliche aufrufe und die ersten paar kleinen Klassen, die irgendwas modellieren, wie hier zum Beispiel das Spielfeld oder einen Spielstein. Häufig stelle ich dann nach den ersten hundert Zeilen Code fest, dass meine Grundidee nicht ganz so optimal war. Ich schreibe diese dennoch erstmal fertig und passe dann auf sinnvollere Varianten an. Und dann wird die erste Datei geschrieben, die alles mögliche testet - meistens geschieht das einfach mit Ausgaben von den Variablen und dann ergibt sich alles weitere.

Ich lege mich allerdings für viele Sachen bereits von vorne herein fest in welcher Sprache ich etwas schreiben will. Entweder weil ich einfach mehr über diese Sprache lernen will, ich es intuitiv in dieser Sprache machen möchte oder es schlichtweg Vorgabe von irgendwem ist.
 
Oben