Gedanken/Konzept vor dem Programmieren

cola1

Mitglied
Tagchen,

habe neulich angefangen etwas Code frei runter zu rattern und als es mir gefiel sollte der Krempel erstmal aufgeräumt werden. Und dann fiel mir auf dass das gar nicht so einfach ist bzw. man von vornherein OOP hätte programmieren sollen...

Nun wollte ich vorher ein paar Gedanken nieder schreiben - und hänge fest...


Was sollte man inwiefern vorher festhalten? Und wie?



Sicherlich kann man mit der Planung zwischen 1 Tag - 5 Jahre beschäftigt sein.

Gibt es einen Ansatz von wegen "so viel wie nötig, so wenig wie möglich"?
Wenn ja: WAS ist darin enthalten?
Klassen mit beschriebenen Methoden?
Einfach nur Geschäftsprozesse ohne detaillierte Methoden?
Komplett "text basierend", festgehaltene Gedanken was passieren soll und gar nicht wie es passieren kann/soll?
 

ComFreek

Mod | @comfreek
Moderator
Hallo Cola,

ich denke, dass hängt ganz stark davon ab, was du programmieren möchtest und wer deine Zielgruppe ist. Manchmal möchte man auch nur einen proof of concept.

Wenn ich z. B. nur ein kleines Tool zur Automatisierung am PC schreiben möchte, denke ich nur:

1) Brauche ich eine GUI?
2) Wie ist das Interface nach außen hin? CLI-Befehle? Welche Parameter gehen ein, welche aus?
3) Was für Entitäten gibt es? Wie werden diese in einen Zusammenhang gebracht? Passiert dies z. B. nur durch eine main()-Methode?
4) Was für Abhängigkeiten haben diese Entitäten und wie sehen ihre Interfaces nach außen hin aus?

Mehr ist bei einem kleinen Tool auch nicht unbedingt nötig.
 

Bratkartoffel

gebratene Kartoffel
Premium-User
Hi,

kann mich der Aussage von ComFreek nur anschließen.

Falls es doch etwas komplexer wird, dann zielt deine Frage vorallem auf die Software Architekten. Persönlich habe ich in dem Bereich noch keine professionellen Erfahrungen. Als Template für den Aufbau kannst du dir das arc42-Template[1] mal anschauen, habe dies auch schon in der Art in ein paar größeren Privatprojekten als Vorlage genommen.

Grüße,
BK

[1] http://www.arc42.de/template/index.html
 

ikosaeder

Teekannen-Agnostiker
Es gibt Ansätze, danach wird zunächst alles! auf dem Papier entwickelt (UML-Diagramme, PseudoCode). Danach wird der Code quasi vom Papier abgeschrieben. In einem Praktikum an der Uni (das ein Kollege betreute) wurde das genauso exerziert. Die Studenten hatten 3 Wochen Zeit, die Papierform einzureichen und dann 3 Tage für die Implementierung.
Das erfordert viel Disziplin, führt aber am Ende zu sauberem und dokumentiertem Code.
 

cola1

Mitglied
Das Arc-Template sieht ganz brauchbar für Enterprise-Software zu sein, muss allerdings zugeben dass mir kaum ein dort aufgeführter Punkt etwas sagt worunter ich mir genaueres vorstellen kann. Entweder ist es ungeeignet oder ich habe keine Ahnung...
Doch irgendwo muss man anfangen.

Ich würde gerne ein MOBA-Spielchen browserbasiert gestalten.
Ein Match zwischen zwei Teams á 5 Spielern mit intern festgelegten UND mehr oder weniger zufällig berechneten Geschehnissen, welche die Attribute eines Spielers und somit auch des Teams entsprechend positiv oder negativ beeinflussen. Also ohne real time-Action wie in folgendem Wiki-Artikel beschrieben, sondern rundenbasiert ohne jeglichen Einfluss vom Menschen:
http://de.wikipedia.org/wiki/Multiplayer_Online_Battle_Arena


Werde mal schauen in wie weit ich mit Teilschritten, Aufgabenverteilung komme. Mehr fällt mir derzeit nicht ein und versuche eigentlich nur möglichst wenig Fehler zu machen :p