1 / 18

Style Guidelines für Java und .NET

Seminar aus Softwareentwicklung: Programmierstil. Style Guidelines für Java und .NET. Klaus Lehner 9957635, klu2@gmx.at. Übersicht. Was sind Guidelines? Wozu Guidelines? Allgemeine Formatierung Namenskonventionen Deklarationen Statements Verzweigungen & Schleifen Whitespaces

nell
Download Presentation

Style Guidelines für Java und .NET

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Seminar aus Softwareentwicklung: Programmierstil Style Guidelines für Java und .NET Klaus Lehner 9957635, klu2@gmx.at

  2. Übersicht • Was sind Guidelines? • Wozu Guidelines? • Allgemeine Formatierung • Namenskonventionen • Deklarationen • Statements • Verzweigungen & Schleifen • Whitespaces • Dokumentation • CheckStyle • Anwendung in der Praxis

  3. Was sind Guidelines? • Unverbindliche Richtlinien, wie Source Code zu schreiben ist, an die man sich halten sollte. • Falls man sich an eine Regel nicht hält, soll man dies dokumentieren!

  4. Wozu Guidelines? • Immer mehr Geld fließt in die Wartung von Source Code • Fast keine Software wird immer vom Programmierer selbst gewartet

  5. Allgemeine Formatierungen • Keine Tabulatoren • Keine Pagebreaks • Zeilenlänge auf 80 Zeichen beschränken • Zeilenumbruch nach einem Komma • Zeilenumbruch nach einem Operator • Die neue Zeile an den Anfang des Ausdrucks ausrichten Function1 (param1, param2, param3); totalSum = a + b + c + d + e; for (tableNo = 0; tableNo < maxTable; tableNo += tableStep)

  6. Syntaktische Namenskonventionen Pascal Case BackColor Camel Case backColor Uppercase MAXLEN Kein Case Sensitiv!!! Namenskonventionen (1)

  7. Namenskonventionen (2) • Semantische Namenskonventionen • Englisch verwenden! • Keine Abkürzungen • Keine verneinten bool‘schen Variablen bool isNotError; : if (!isNotError) ..

  8. Namenskonventionen (3) • JavaBeans-Konventionen • get / set / is public boolean isConnected() { return connected; } public String getName() { return this.name; } public setName(String n) { this.name = n; }

  9. Class Foo { int var; void FooMeth() { int var; if (keypressed) { int var; : } // if } // FooMeth } // Foo Deklarationen • Klassen- und Methodendeklarationen • Nach jeder Methode 1 Zeile freilassen • Variablendeklaration • Nur gleichartige Variablen in einer Zeile deklarieren • Immer am Anfang eines Blocks • Keine äußerliegenden Variablen überdecken

  10. Statements • max. 1 Anweisung pro Zeile • Ausnahme: For-Schleife • Zusammengehörende Statements nacheinander schreiben • Bei Schleifen und Verzweigungen immer geschwungene Klammern verwenden myObject.message1(); myObject.message2(); counter++; myObject.message3(); myObject.message1(); myObject.message2(); myObject.message3(); counter++;

  11. if (condition) { statements; } if (condition) { statements; } else { statements; } if (condition) { statements; } else if (condition) { statements; } else { statements; } Verzweigungen switch (value) { case 1: statements; /* fall through */ case 2: statements; break; case 3: statements; break; default: statement; break; }

  12. while (condition) { statements; } Schleifen & try...catch for (initialization; condition; update) { statements; } try { statements; } catch (Exception e) { statements; } try { statements; } catch (Exception e) { statements } finally { statements; } do { statements; } while (condition);

  13. Abstände • Leerzeichen zur besseren Lesbarkeit einführen • vor und nach Operatoren • nach Kommas counter=1; grandTotal=invoice.total()+getAmountDue(); grandTotal=Discounter.discount(grandTotal,this); counter = 1; grandTotal = invoice.total() + getAmountDue(); grandTotal = Discounter.discount(grandTotal, this);

  14. Dokumentation „Goldene Regel“ • Source Code, der es nicht wert ist, dokumentiert zu werden, ist es auch nicht wert, geschrieben zu werden.

  15. Code Beautifier • CheckStyle • Command Tool • JBuilder Plugin • „Compiler“, der nach Guideline-Verletzungen sucht • www.sourceforge.net • nach „checkstyle“ suchen

  16. Praxisbeispiel VAI Linz • Besprechung • festgelegte Regeln • für alle jederzeit zugänglich • zusätzlicherEinsatz vonCheckStyle

  17. Zusammenfassung • Die Richtlinien verstehen • Eine Liste von Richtlinien auswählen • An diese Richtlinien glauben • Sie schon während der Implementierung befolgen, nicht erst nachher • Den Style zu einem Teil der Qualität machen • Für Menschen, nicht Maschinen programmieren

  18. Happy Coding ;-)

More Related