CleanCode: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Florian (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Florian (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 62: Zeile 62:
[http://information-hiding.co.tv/ → mehr dazu]
[http://information-hiding.co.tv/ → mehr dazu]


===== Principle of Least Astonishment =====
===== [http://www.clean-code-developer.de/Gelber-Grad.ashx#Principle_of_Least_Astonishment_3 Principle of Least Astonishment] =====
Programmteile sollten sich so verhalten, "wie man es erwartet". Funktionen sollten sich ihrem Namen entsprechend verhalten und Seiteneffekte sollten klar ersichtlich und gut dokumentiert sein.
Programmteile sollten sich so verhalten, "wie man es erwartet". Funktionen sollten sich ihrem Namen entsprechend verhalten und Seiteneffekte sollten klar ersichtlich und gut dokumentiert sein.


===== Tell, don't ask =====
[http://www.atalasoft.com/cs/blogs/stevehawley/archive/2006/02/27/9590.aspx → mehr dazu]
Eine Klasse sollte nicht von außen über ihren internen Zustand befragt werden können. Es ist besser dem Objekt mitzuteilen was es zu tun hat. Das verlagert die Logik zur Benutzung der Klasse in die Klasse selbst und der Benutzer muss sich darüber keine Gedanken mehr machen.
 
===== [http://www.clean-code-developer.de/Gr%c3%bcner-Grad.ashx#Tell_don%C2%B4t_ask_1 Tell, don't ask] =====
Eine Klasse sollte nicht von außen über ihren internen Zustand befragt werden können. Es ist besser dem Objekt mitzuteilen was es zu tun hat. Das verlagert die Logik zur Benutzung der Klasse in die Klasse selbst und der Benutzer muss sich darüber keine Gedanken mehr machen. Als Ergebnis entstehen Objekte mit Verhalten statt "dummer" Datenhaltungsobjekte.
 
[http://pragprog.com/articles/tell-dont-ask → mehr dazu]


===== Law of Demeter (Don't talk to strangers) =====
===== Law of Demeter (Don't talk to strangers) =====
Abgerufen von „https://sopranium.de/CleanCode