HowToCode "ReadYou": Community-getriebene professionelle Applikationsentwicklung

Der Posttitel klingt schon mal recht hochgegriffen und es ist für mich auch eine Art Experiment und hoffe, dass es (früher oder später) auch Feedback gibt ;)

Was ist “ReadYou”?

Trotz des “Web 2.0″-Zeitalters mag ich immer noch Bücher – seien es Fachbücher oder andere Romane. Da ich allerdings langsam den Überblick verliere und es meiner Freundin ähnlich geht, muss eine Plattform her, wo man solche “Bücherbestände” möglichst cool und einfach managen kann (und natürlich die ganzen anderen Community-Sachen die üblich sind).
ReadYou ist daher momentan mein Projektarbeitstitel – am Ende soll unter www.readyou.de eine kleine, schicke Web 2.0 Anwendung stehen.
Das Thema ist jetzt nicht unbedingt jedermanns Sache, allerdings sind meist die “Grundzüge” einer solchen Applikation immer gleich – um ReadYou mal mit markanten Web 2.0 Schlagwörtern zu beschreiben:

image

Ganz guten würden zudem noch Blogs in diesen Kontext reinpassen – aber das ist eine andere Geschichte :)

Aha… was hat das mit uns zutun?

Ich bin ein großer Fan von Rob Conerys MVC Storefront und hab bei seinen Videos einiges gelernt:

Da ich zumeist noch das Problem bei privaten Projekten hab, dass ich irgendwann die Lust verliere, mach ich es diesmal von Anfang an “offen” für jeden – damit ich es nicht irgendwann auf meiner Platte verliere. Dabei soll nicht nur der Source-Code “offen” sein, sondern auch warum ich diese und jene Entscheidung treffe oder warum ich das Tool nehmen möchte.
Es soll eine möglichst professionelle Applikation rauskommen, welche eine möglichst robuste Architektur aufweisst, gut getestet ist und auch (das leidige Thema der Entwickler) sogar dokumentiert ist – also ein möglichst professioneller Ansatz.

Da ich natürlich kein Experte in TDD, Dokumentieren, Toolauswahl, Architektur etc. bin, ist Feedback besonders wichtig :)

Was soll das bringen?

Am Ende soll möglichst eine Art “Leitfaden” entstehen (die Applikation ist quasi das Nebenprodukt), den Anfänger ebenfalls beschreiten können – und auch verstehen, warum diese und jene Entscheidungen getroffen wurden und auch (was sicherlich passieren wird), dass manche Entscheidungen vielleicht unklug waren.
Es sollte nicht als pure deutsche Kopie von Robs Videos zu sehen sein (ich glaub nicht, dass ich so gute Screencasts überhaupt machen könnte), sondern ein Lernexperiment für jedermann – vergleichbar mit einem größeren HowTo – diesmal “HowTo code ReadYou:)

Themen/ToDo´s die ich mir vornehme:

  • Welche Anforderungen hat das System:

Anforderungsmanagement ist ein wichtiger Punkt bei einem Software-Projekt. Da ich hier allerdings selber der Kunde bin, werde ich meine Anforderungen und ungefähren Designvorstellungen selber schreiben – Abschätzungen oder ähnliches werden aber nicht gemacht ;)

  • Architekturgedanken:

Anhand dieser Anforderungen muss eine entsprechende Architektur entworfen werden – dabei werde ich mir sicherlich die eine oder andere Idee bei Rob nochmal genauer anschauen.

  • Source Control & Build:

Als Source Control ist momentan Codeplex meine erste Wahl (TFS Infrastruktur). Hierbei muss ich mal schauen, wie weit man es da treiben kann – Stichwort Continuous Integration). Builds sollten möglichst automatisch ablaufen können – daher werde ich mich an dieser Stelle MSBuild widmen. Hier bin ich mir noch etwas unsicher was Codeplex bietet und wie ich das am cleversten anstelle – aber an dem Punkt bin ich ja noch nicht ;)

  • Implementation & Tests:

Ich versuche möglichst mich nach dem TDD Mantra “Test-First” zu richten – sodass eine möglichst robuste Applikation am Ende rauskommt. Auch Themen wie Dependency Injection, MSTest als Testframework, ASP.NET MVC nehm ich mir vor.

  • Dokumentation:

Da Source-Code möglichst dokumentiert sein sollte, soll auch hier mal von Anfang an daran gedacht werden – ich probier es mal mit Sandcastle (hier & hier gibt es einen guten “Überblick” über die neusten Versionen)

Feedback

Wie bereits oben erwähnt ist Feedback natürlich sehr wichtig – wenn ich aus eurer Sicht was vergessen hab, ihr das Konzept blöde findet oder was auch immer – (konstruktive) Krtik ist immer gut ;)

Ich hoffe ich kann in den nächsten Tagen die ersten Themen/ToDo´s angehen :)

8 Kommentare bisher »

  1. Rainer Schuster sagt

    am 4. Juni 2008 @ 00:13

    Hi Robert,

    super Idee. Und wie ich sehe, hast du auch schon zu meinen Posts gelinkt. Also bei Fragen rund um Codedokumentation kann ich dir mit Rat und Tat zur Seite stehen. Die anderen Themen fallen auch in mein Interessensgebiet und vielleicht kann ich hier auch einige Infos beisteuern. Meinen Kontakt hast du ja, also nur zu bei Fragen. Alle anderen kann ich nur dazu ermuntern mit zu helfen.

  2. Thomas Freudenberg sagt

    am 4. Juni 2008 @ 00:20

    Da bin ich ja mal gespannt. Auch ich beschäftige mich intensivst mit ASP.NET MVC. Und nachdem Rainer seine Hilfe für Sandcastle angeboten hat, kann ich gerne versuchen, bei Fragen zu MSBuild und Dependency Injection weiter zu helfen.

  3. James sagt

    am 4. Juni 2008 @ 07:35

    Hehe!

    Das klingt ja jetzt schon mal recht spannend und interessant! Kanns kaum erwarten die ersten Fortschritte zu sehen… Werd mal meine Hilfe anbieten, ob sie schlußendlich benötigt wird ist eine andere Sache ;)

  4. Rainer Schuster sagt

    am 5. Juni 2008 @ 09:17

    Ah,

    Thomas kennt sich gut mit MSBuild und DI aus. Na da weiß ich ja auch wen ich fragen kann, wenn ich mal Probleme hab ;-)

    Welche DI Frameworks stehen denn zur Debatte?

    Spring.NET? Unity? Was eigenes?

  5. Robert Mühsig sagt

    am 5. Juni 2008 @ 09:30

    An dem Punkt bin ich natürlich noch nicht und ich kenn auch nicht die Vor- und Nachteile der einzelnen Frameworks – bis jetzt hab ich nur mal ein Unity-Video gesehen und StructureMap bei dem Screencast von Rob Conery (siehe oben) – aber wenn jemand darüber Infos hat, dann immer her damit ;)

  6. HowToCode "YouRead": Was soll das System denn leisten? - Gedanken an die Anforderungen | Code-Inside Blog sagt

    am 5. Juni 2008 @ 22:04

    [...] dem letzten “YouRead” Post ging es allgemein um den Gesamtplan – als erstes möchte ich nochmal komplett ohne Code arbeiten [...]

  7. Thomas Freudenberg sagt

    am 6. Juni 2008 @ 00:02

    Ob Unity, StructureMap, Spring.NET oder Castle Windsor sollte eigentlich relativ egal sein, so sehr unterscheiden die sich auch nicht. Zur Not lassen die sich auch relativ einfach gegeneinander austauschen.
    @Rainer: aber immer doch :)

  8. HowToCode "YouRead": …eigentlich heisst es "ReadYou" | Code-Inside Blog sagt

    am 6. Juni 2008 @ 18:11

    [...] hat sich wohl der Fehlerteufel eingeschlichen – in den letzten beiden Blogposts war immer von “YouRead” die Rede, dabei heisst es eigentlich [...]

Komentar RSS · TrackBack URI

Hinterlasse einen Kommentar

Name: (erforderlich)

eMail: (erforderlich)

Website:

Kommentar: