Programmier- und Entwicklungsrichtlinien

tomkruse

Erfahrenes Mitglied
Hallo!

Ich bin auf der Suche nach einer Art Richtliniensammlung für effiziente- und strukurierte Programmierung im Team. Bisher habe ich nur diverse Coding Styleguides gefunden. Das ist zwar auch nützlich, aber Vorschriften über die korrekte Benennung von Variablen und Methoden und so weiter reicht eben leider nicht aus, um den Code straff, lesbar und halbwegs einheitlich zu halten.

Gibt es zu diesem Thema eventuell Erfahrungen anderer User? Wie bringt man die Mitarbeiter eines Entwickler-Teams dazu, keine "Wucherungen" und Auswüchse mehr zu programmieren? Codeverdoppelung, Unlesbarkeit, mangelnde wiederverwendbarkeit und so weiter würde ich gerne etwas eindämmen. Die Frage ist nur: wie?

viele Grüsse

Thomas.
 
Ich schreib hier einfach mal meine bescheidene Meinung rein die ich keineswegs als maßgebend bzw. 100% richtig halte. Das nur vorneweg um irgendwelche Auswüchse in Form von Flames zu verhindern auch wenn die Community hier doch recht handzahm ist :)

Meiner Meinung nach ist es das wichtigste, dass solche Richtlinien nicht von oben diktiert werden sondern im Dialog entwickelt werden. Sprich wo soll das Projekt hin führen, welche Designaspekte möchten wir einhalten (MVC-Modell etc.). Am wichtigsten wird es erstmal sein sich über einige Punkte klar zu werden die den Stil des Programmierens betreffen sofern nicht schon von der Programmiersprache vorgegeben. So Sachen wie Whitespaces oder Tabs und wenn Whitespaces, 4 oder 8 pro Intention etc.. Welchen Naming-Sheme soll für Methoden und Klassen verwendet werden?Soll dieses für Klassen und Methoden gleich sein? Da wären etwa CamelCase, all-lower und all-caps etc..

Zur Wiederverwertbarkeit kann ich eigentlich nur sagen, dass man möglichst immer Base-Klassen schaffen sollte, die relativ allgemein gehalten sind und Code-Dopplungen nur vermeiden kann indem man den Code der anderen liest und evtl. korrigiert und Dopplungen auslagert um sie eben wieder zu verwenden. Dabei bietet es sich an ein Source Code Controll System wie svn oder git zu verwenden (tolle git-repos gibts auf github.com ;) )

Was die Benennung von Variablen anbelangt sollten sie möglichst aussagekräftig benannt sein. Es kann etwa kein Mensch 3 geschachtelte For-Schleifen mit 4 temporären Variablen schnell nachvollziehen wenn diese a, b, c und d heißen.

Und wie du schon sagtest ist es nützlich sich Guidelines anzusehen. Vielleicht helfen dir ja die von Google's Summer of Code weiter.

Achja: Und wenn man sich nicht einigen kann sollte jemand da sein der auch mal auf den Tisch haut :D
 
Hallo!

Danke schon mal für Deine Antwort. So ganz habe ich aber glaube ich nicht rübergebracht was ich wollte :)

Styleguide haben wir hier schon, also wieviele Spaces und wie man Variablenamen benennen soll und so weiter ist geregelt. Was Einrückungen und solche Dinge betrifft, so ist man heutzutage z.B. in C# unter Visual Studio.Net ohnehin schon vom Editor her gezwungen das zu nehmen was dieser einem vorgibt. Ist aber auch nicht das Schlechteste denn so machen es wenigstens alle Leute im Team auf die gleiche Art :)

Was ich aber eigentlich brauche sind Regeln die z.B. Spaghetti-Code verhindern, Methoden mit ewig langen Parameterlisten verbieten und so weiter. All das was passiert, wenn lange an einer Applikation gearbeitet wird und immer wieder jemand schnell-schnell was dazuprogrammiert weil irgendein Kunde das eben wünscht. Was da nach Jahren dann herauskommt ist absolut unwartbar und mit jedem zusätzlichen Feature begibt man sich auf verdammt dünnes Eis denn das Debugging wird immer schwieriger und Nebenwirkungen sind kaum auszuschließen und sehr schwer zu finden.

Ich hoffe, ich konnte ein wenig besser rüberbringen wo ich hin will :)

viele Grüsse

Thomas.
 
Ich kann ja nicht damit rechnen, dass du eine Verhunzung aus dem Hause Microsoft benutzt (Spaß beiseite, solange es funktioniert kann mans auch benutzen).

Was du meinst hat wie du schon sagtest weniger mit Style zu tun sondern mit Programmierpraktik. Das jemand jetzt ewig lange Parameterlisten bei ner Funktion hat kann man ja durch Arrays lösen. Ansonsten kann ich halt nur sagen, dass der Code von anderen gegengelesen wird und die bei Bedarf sagen, dass das so nicht geht. Ordnung bleibt nur bestehen wenn jemand da ist, der sie erhält. Sonst vermüllt alles nach ner Weile. Ich seh jetzt nicht wirklich einen Weg auf dem man das von dir angesprochene verhindern kann.
 
Ich kann ja nicht damit rechnen, dass du eine Verhunzung aus dem Hause Microsoft benutzt (Spaß beiseite, solange es funktioniert kann mans auch benutzen).

Ich hab mir das nicht wirklich ausgesucht ;)
Bei Apps für die Industrie wirst Du allerdings nicht oft PHP finden. Vielleicht noch Java, aber auch das nicht sooo oft.

Was du meinst hat wie du schon sagtest weniger mit Style zu tun sondern mit Programmierpraktik. Das jemand jetzt ewig lange Parameterlisten bei ner Funktion hat kann man ja durch Arrays lösen. Ansonsten kann ich halt nur sagen, dass der Code von anderen gegengelesen wird und die bei Bedarf sagen, dass das so nicht geht. Ordnung bleibt nur bestehen wenn jemand da ist, der sie erhält. Sonst vermüllt alles nach ner Weile. Ich seh jetzt nicht wirklich einen Weg auf dem man das von dir angesprochene verhindern kann.

Es soll halt so werden, daß es eben keiner gegenlesen muss, sondern daß man vorher schon gewisse Richtlinien hat. Gegenlesen und dann ändern bei einer Applikation deren Entwicklung Geld kostet ist nicht wirklich eine kostensparende Vorgehensweise :)

Arrays statt parameterlisten kommen mir jetzt nicht wie eine übersichtlichere Verbesserung vor, oder wie hast Du das jetzt genau gemeint ..? :)

viele Grüsse

Thomas.
 
Was ich meinte war das übergeben eines Arrays als Parameter, dass sehr umfangreiche Angaben enthält. Man könnte auch neue Objekt-Typen nutzen. Im Endeffekt ist das eher eine kosmetische Maßnahme.
 
Hallo,

kauf dir Clean Code:
Original: http://www.amazon.de/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882
Übersetzt: http://www.amazon.de/Deutsche-Ausgabe-Refactoring-Patterns-Techniken/dp/3826655486
das Buch enthält viele gute Ratschläge und Tipps zum schreiben von gutem Code.

Ansonsten gibt es im Netz zahlreiche gute Sammlungen von Code-Conventions für Java. Beispielsweise die offiziellen Java Code Conventions von Sun:
http://java.sun.com/docs/codeconv/ oder Writing Robust Java Code The AmbySoft Inc. Coding Standards for Java von Scott W. Ambler:
http://www.ambysoft.com/downloads/javaCodingStandards.pdf

Gruß Tom
 
Hallo!

Vielen Dank! Das ist wohl genau das was ich wollte (habs mir noch nicht angesehen, werde das aber gleich machen).

[edit]
Ok, war doch nicht ganz das was ich wollte. Hat noch jemand was in Richtung besser wartbarem Code jenseits von Namenskonventionen und Kommentar-Tipps?
[/edit]

viele Grüsse

Thomas.
 
Zuletzt bearbeitet:
Hallo,

schau dir mal die Eincheck Bedingungen von Visual Studio Team System an, ich meine man könnte dort auch Richtlinien bezüglich der Code-Qualität festlegen.
Vielleicht hilft das weiter.

MfG Pablo ;)
 

Neue Beiträge

Zurück