Benutzer-Werkzeuge

Webseiten-Werkzeuge


se:programmierung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

se:programmierung [2009-01-17 14:18]
stefan
se:programmierung [2014-04-05 11:42]
Zeile 1: Zeile 1:
-====== Tipps zur (objektorientierten) Programmierung ====== 
  
-===== Defensive Programmierung ===== 
-  * entsprechende Datentypen für nicht-negative Zahlen verwenden (z.B. ''​unsigned int''​) um aufwändige Prüfungen des Wertebereichs zu vermeiden 
- 
-===== Bugfixing ===== 
-  * für jeden gefundenen Bug wird eine entsprechende Assertion eingefügt, damit ein erneuter Verstoß gegen die Rahmenbedingungen sofort auffällt 
- 
-===== Designprinzipien ===== 
-**nach {[quellen:​Bleek2008|S. 87]}** 
-  * **Don'​t Repeat Yourself (DRY)**: Funktionen werden nur einmal implementiert und nicht mehrmals (womöglich gar durch Copy-and-Paste) -> Modularisierung,​ bessere Wartbarkeit 
-  * **Speaking Code Principle (SCP)**: der Code muss auch ohne Kommentare verständlich sein -> bessere Wartbarkeit,​ einfachere Einarbeitung anderer Entwickler 
-  * **Separation of Concerns (SoC)**: jedes Modul hat genau eine Aufgabe -> Modularisierung,​ bessere Wartbarkeit,​ DRY 
-  * ** Tell, don't ask (TDA)**: Klassen sollten nicht nach Werten gefragt, sondern aufgefordert werden, eine Funktion zu liefern (z.B. nicht MwSt-Satz abfragen, sondern auffordern, Mehrwertsteuer zu berechnen) -> verhindert ausufernde Abhängigkeiten zu anderen Klassen, evtl. jedoch Konflikt zu SoC 
- 
-==== ToDo ==== 
-  * Single Responsibility Principle 
-  * Open Closed Principle 
-  * Liskov Substitution Principle 
-  * Interface Segregation Principle 
-  * Dependency Inversion Principle 
-  * Law of Demeter 
-  * Test-first 
se/programmierung.txt · Zuletzt geändert: 2014-04-05 11:42 (Externe Bearbeitung)