I et kursus jeg har for tiden, skal jeg lave et lille Java-projekt.
Jeg har valgt at lave en feedreader - ikke noget banebrydende, men en hyggelig lille opgave, som giver mig mulighed for at koncentrere mig om at gøre det ordentligt. Feedreadere er også et område, hvor jeg stadig ikke har fundet perfektion, men lige nu har 2 feedreadere, fordi de tilbyder forskellig ekstra, eksotisk funktionalitet.
Fordelen ved et simpelt projekt er at jeg kan så have styr på processen, værktøjerne og endda få lært mig at kode med en IDE.
Det er lidt sjovt, men jeg har altid kodet i emacs og håndkompileret og dette er min første mulighed for at sætte mig ind i mere avancerede kodeværktøjer.
Jeg har valgt Eclipse, som er open source og som jeg har fået anbefalet varmt af flere medstuderende.
Det mest basale i mit projekt er at få produceret noget kode, som jeg kan være tilfreds med at levere videre. Derfor bruger jeg CheckStyle og FindBugs plugins til Eclipse. At man skriver JavaDoc er en selvfølge.
Til versionering bruges Subversion - til Eclipse kan det f.eks. gøres med Subversive.
Derudover skal der testes og til unittest findes der JUnit, som er godt integreret i Eclipse.
Til at styre kodeprocessen bruges Trac, som er et projektstyrings og bug-tracking værktøj.
For at dokumentere projektet er der sat en projektwiki op med projektbeskrivelse, user stories, mockups af grænsefladen, en opsummering af en dagbogsblog med de vigtigste pointer og hvad der er lært.
Og så har jeg jo nævnt at projektet har en dagbogsblog. Den er til at dokumentere beslutninger og kan bruges som en slags tidslinje. Blogindlæggene er oftest korte, omhandler kun et emne og man redigerer ikke større ting, men poster indlæggene igen.
Jeg har overvejet at kigge nærmere på Hibernate til mapning af objekter til en relationel database, men da dette er et kort projekt til et 7-ugers-kursus, som også indeholder andre tidsslugende aktiviteter, tror jeg ikke det er interessant nok at bruge tid på - det må vente. Det samme gælder Cruise Control, som er et buildtool.
Jeg vil gerne se nærmere på agile udviklingsmetoder og for en gang skyld følge en af dem til punkt og prikke - med de ulemper og fordele der følger med den beslutning. Extreme Programming(XP) lyder spændende og her er en kort oversigt over de virkemidler som metoden bruger.
Nu er det ikke mit projekt alene, så jeg behøver faktisk ikke at være skizofren for at kunne afprøve parprogrammering :-).
Arkitekturen skal være noget model -view-controller, men faktisk tror jeg at fremgangsmåden bliver at eksperimentere med koden og så refaktorisere senere.
Det er ca. 1 år siden jeg sidst har kodet i Java, så jeg glæder mig til at komme i gang - det er så endnu længere siden at jeg har arbejdet med databaser og jeg kan faktisk ikke huske at jeg nogensinde har arbejdet med Java Swing til brugergrænsefladen.
Jeg er selvfølgelig også interesseret i at høre, hvis andre kender spændende kodeværktøjer til Java, som kunne være interessante i denne sammenhæng og hvis der er nogen der skulle have lyst til at dele ud af deres erfaringer med f.eks. XP eller Eclipse.
mandag den 23. april 2007
Abonner på:
Kommentarer til indlægget (Atom)
1 kommentar:
Skulle lige til at sige at CruiseControl kun er til .NET - da jeg opdagede at programmet har samme navn (vist .NET postfix i .NET) i hhv. java og .NET verdenen...
Send en kommentar