guter Programmierstil

Status
Nicht offen für weitere Antworten.

comp89

Bekanntes Mitglied
Bis jetzt habe ich mich kaum damit beschäftigt, aber ich finde doch das es wichtig ist. Heute sah ich mir einen Progrmmiercode von mir an, den ich diesen Frühling gemacht hatte, und kannte mich überhaupt nicht mehr aus. Und da ich jetzt bei einem größeren Projekt für die Schule bin (Kalender) , wollte ich fragen

Was macht einen guten Programmiercode aus?

Also, was habt ihr für Tipps für bessere Übersichtlichkeit, Auslagerung in andere Klassen / Methoden usw.
 

L-ectron-X

Gesperrter Benutzer
Guter Programmierstil ist es, seine Klassen so zu schreiben, dass auch noch ein "Wartungsprogrammierer" den Code leicht nachvollziehen kann. Also z.B. Methoden nicht all zu tief verschachteln, auf korrektes Einrücken achten, Großschreibung des ersten Buchstabens von Klassennamen, Kleinschreibung von Methoden- und Variablennamen und ganz wichtig: den Code ausführlich dokumentieren.
In der JLib liegt glaube ich auch ein Link auf die Sun Coding Conventions, die guten Programmierstil erklären.
 
B

Beni

Gast
Wie ich heute bemerkt habe sind "protected Variablen" in diesem Zusammenhang besonders hässlich. (Woher kommt denn nun schon wieder Variable x? Aha, die war in der 5. Superklasse definiert...).

Und auch Methoden welche wild Variablen umändern sind mühsam, lieber einen anständigen Rückgabewert und ein paar lokale Variablen als herumgewurstel.
 

Bleiglanz

Gesperrter Benutzer
Was macht einen guten Programmiercode aus?
Ich selber würde mich nicht als "guten Programmierer" bezeichnen (wg. Disziplinmangel), die wenigen die ich bisher kennengelernt habe sind IMHO solche, die

- niemals eine Methode undokumentiert lassen (Javadoc)
- diese Dokumentation IMMER aktuell halten
- keine überflüssigen Kommentare machen
- Hacks und Workarounds sehr ausführlich kommentieren
- niemals sinnlose oder kurze Variablen- und Methodennamen verwenden ("Was ist berAnz gleich wieder?")
- klarer Stil (immer gleiche Einrückung, { } immer gleich positioniert usw.) siehe Code Conventions
- wo möglich, die Dinge "final" machen (kostet nichts)
- keine sinnlosen Optimierungen und Performance-Tricks ohne vorherige Messung einbauen
- keine Methoden mit mehr als 50? oder 100? Zeilen verwenden
- keine hart kodierten Dateinamen/URLs oder ähnliches in den Source-Codes haben
- usw. usw.

Speziell bei Java würde ich noch eine gewisse Beherrschung der Bibliotheken dazunehmen. Viele Anfänger - und leider auch Fortgeschrittene - sind es nicht gewohnt, in der API was zu suchen und programmieren dann vorhandene Funktionalität "von Hand" nach, das ist von grossem Übel!

Meiner Meinung ist guter Code eine Frage der eiserenen Disziplin bei der täglichen Arbeit, die ich selbst leider meistens nicht aufbringe :)
 

Sky

Top Contributor
Bleiglanz hat gesagt.:
Speziell bei Java würde ich noch eine gewisse Beherrschung der Bibliotheken dazunehmen. Viele Anfänger - und leider auch Fortgeschrittene - sind es nicht gewohnt, in der API was zu suchen und programmieren dann vorhandene Funktionalität "von Hand" nach, das ist von grossem Übel!

Bei Anfängern ist es wahrscheinlich mangeldes Wissen über die API. Bei Fortgeschrittene kann es aber auch mal sein, dass sie etwas von Hand nachproggen, weil die Implementierung von Sun -nett ausgedrückt- in manchen Gebieten 'suboptimal' ist. Das liegt halt daran, dass dort auch Menschen arbeiten und nicht perfekte Programmiermaschinen.
 

Bleiglanz

Gesperrter Benutzer
weil die Implementierung von Sun -nett ausgedrückt- in manchen Gebieten 'suboptimal' ist. Das liegt halt daran, dass dort auch Menschen arbeiten und nicht perfekte Programmiermaschinen.
jo, die Nichtverwendung einer Funktionalität sollte aber dann auf jeden Fall gut dokumentiert sein - sonst kommt ja in 6 Monaten ein Hamperer in Projekt und ersetzt diesen Coden durch etwas anderes "gleichwertiges" :)
 
R

Roar

Gast
Code:
for(int i=0; i<blupp.size(); i++) { // hier wid i erhöht
bipapo.send(blupp.get(i)); // hier wird ein dumdum objekt hegolt und auf pipapo rausgeschickt
}// hier endet eine schleife

:D
 

foobar

Top Contributor
Code:
was meint ihr mit überflüssigen kommentaren?
ich denke kein kommentar ist zu viel
Code ist selbstkommentierend
/* no comment */
 

Bleiglanz

Gesperrter Benutzer
da fällt mir noch ein Kriterium für guten Code ein

dass nämlich der Programmierer StrgC StrgV nicht zu oft:) verwendet
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben