Moin allerseits
Ich arbeite zur Zeit an der Planung eines (Python-)Projekts. Ich weiss schon heute, dass ich später nicht wissen werde, welche Funktionen die Applikation (Multiplayer Web-Onlinegame) haben wird - auch soll das ganze so Programmiert werden, dass beliebige Funktionen geändert und ersetzt werden können (so z.B. die Spiellogik oder das Frontend) und trotzdem viel beibehalten werden kann (Error-Abhandlung, Datenbankanbindung u.s.w).
Es handelt sich also um ein wachsendes Projekt, welches zu beginn einen kleinen Kern haben wird und mit der Zeit mehr und mehr wächst. Da ich schon einige solche Projekte geführt habe, weiss ich, wie verdammt schnell die ganze Sache unübersichtlich wird und der Code vom Prinzip her nicht dafür gebaut wurde um eine bestimmte Funktion zu implementieren.
Gibt es für diese Art von Projekten irgendwelche allgemeinen Regeln, Modelle, Richtlinien, Prinzipien, damit mir das nicht passiert? Ich mein jetzt weniger von der Softwareentwicklung (also Projekt Phasen u.s.w) als vielmehr auf der Code Ebene. Also wie ordne ich verschiedene Module umeinander an, damit eine möglichst grosse Unabhängigkeit besteht. Welche Module sollten auf welchen basieren und welche einbinden? Soll das Frontend sich die Informationen holen, oder ein Programm-Kern dem Frontend die Informationen stellen?
Ich weiss, dass ist jetzt ne ziemlich blöde Frage und wahrscheinlich gibt es keine klare Antwort darauf. Aber vielleicht hat mir irgendwer ein paar Links zu guten Guides wie ich an eine solche Sache rangehen muss, damit ich in einem halben Jahr nicht dastehe und alles nochmal schreibe.
Das Projekt ist übrigens:
www.sf.net/projects/ilprincipe
aber das nur so nebenbei....
Per|li|nist der; -en, -en <zu â...ist>: a) Anhänger, Vertreter der radikalen Perlinisten die Perl als die einzig wahre Sprache ansehen; b) Mitglied einer perlinistischen Community.