Infos und Richtlinien für das Projekt
aus AlricgWiki, der freien Wissensdatenbank
Dies sind Informationen und Regeln für alle Personen die an dem Projket mitarbeiten.
Inhaltsverzeichnis |
Grundsätze für die Zusammenarbeit:
- Höflichkeit und ein sachlicher Umgangston sind selbstverständlich.
- Wir alle machen das zum Spaß, keiner wird bezahlt. Vergesst das bitte nicht.
- Niemand ist perfekt, also ist auch Kritik erlaubt. Aber bitte Sachliche und möglichst Konstruktive.
- Niemand ist perfekt, also sind auch Fehler erlaubt. Wenn ihr selbst Fehler gemacht habt, geht damit offen um, dann nimmt sie euch auch niemand übel!
- Niemand ist perfekt, also sind auch Fragen erlaubt. Nutzt das aus, wenn ihr Fragen habt.
- Wer Passwörter an Dritte weitergibt oder fahrlässig damit umgeht, schädigt das Projekt!
- Die Projektleitung ist stehts die letzte Entscheidungsinstanz (auch wenn es sich gemein anhört, einer muß ja entscheiden können ;-)
Einstellungen und Werkzeuge:
- Die benutze Java Version ist 1.5
- Als IDE wenn möglich Eclipse benutzen
- Nützliche Plug-Ins:
- XML Buddy um XML und ähliches zu highlighten.
- Visual Editor für GUI entwicklung.
- Benutztes encoding für alle Editoren: "ISO-8859-1" (gerade bei XML kann es sonst Probleme geben)
- Gotcha-Schlüsselwörter in Eclipse: TODO, VORSICHT, TEST
- Jede Klasse sollte den Namen des Autors enthalten (bzw. ein Kürzel o.ä.).
- Am Anfang jeder Klasse sollte dieser Text stehen:
/* Created on ${date}
* This file is part of the project ALRICG. The file is copyright
* protected and under the GNU General Public License.
* For more information see "http://www.alricg.de/".
*/
Programmierrichtlinien:
- Achtet auf eine konsistente Formatierung (ausschlaggebend sind die Java-Code-Conventions )
- Benutzt Kommentare, eher zu viel als zu wenig
- Namen von Variablen/ Methoden/ Klassen sollten möglichst "sprechend" sein
- JavaDoc ist Pflicht.
- Grundsätzlich wird mit Gettern und Settern gearbeitet. Attribute sind Grundsätzlich "private", nur in Außnahmen "public".
- Synchronisation ist bei Alricg in normalfall nicht wichtig. Benutzt also schnellere "nicht-Synchrone" Konstrukte, z.B. lieber eine ArrayList als einen Vector oder eine HashMap als eine HashTable.
- Benutzt "System.out.println()" bitte nicht bei Dingen die länger stehen bleiben , sondern den Logger!
- Jeder Text der für den Benutzer gedacht ist, läuft durch die Library um ihn lokalisieren zu können und alle Texte Zentral zu haben. Nur Texte die nicht für den Benutzer sind (wie Logging-Einträge) können einfach so angezeigt werden (schaut hier nochmal in die Allgemeine Hinweise zum Programmieren).
Teamarbeit / Änderung von Code:
- Code ist kein Eigentum des Programmierers, sondern des Projekts. Somit darf jeder Code prinzipiell von jedem verändert werden.
- Aus Gründen der Übersicht und der Zweckmäßigkeit sollte man jedoch möglichst keinen Code ändern, der nicht in den eigenen Zuständigkeitsbereich fällt. Besser ist es den Autor auf die Verbesserungmöglichkeiten/ bzw.notwendigen Änderungen hinzuweisen.
- Wer Code von anderen verändert, sollte seinen Namen auch mit als Autor im JavaDoc der Methode bzw. Klasse angeben.
- Auch wenn wir SVN haben: Versucht paralleles Arbeiten an einer Klasse zu vermeiden! So können Konflike am besten vermieden werden.
- Ins SVN bitte nur compelierbaren Code hochladen, damit die arbeit der anderen nicht behindert wird.
- Code ruhig öfter committen, so können andere auf dem laufenden bleiben und es wird größeren SVN -Konflikten vorgebeugt.
