hooke.ui.gui was getting complicated, so I stripped it down for a moment.
[hooke.git] / doc / hacking.txt
index fb9a7d444ff571d4f5e49b145d54d62937e51b33..70f2f8b62137ea8b97d35507ff7641768d1e3544 100644 (file)
@@ -36,6 +36,21 @@ the :doc:`testing` section for more information.
 .. _nose: http://somethingaboutorange.com/mrl/projects/nose/0.11.3/
 
 
+Principles
+==========
+
+Hooke aims to be easily modified and extended by new recruits.  To
+make this easier, we try to abide by several programming practices.
+
+* `DRY`_ (Don't Repeat Yourself), also phrased as "Every piece of
+  knowledge must have a single, unambiguous, authoritative
+  representation within a system."
+* `LoD`_ (Law of Demeter): Don't reach through layers, e.g. `a.b.c.d()`.
+
+.. _DRY: http://en.wikipedia.org/wiki/Don%27t_repeat_yourself
+.. _LoD: http://en.wikipedia.org/wiki/Law_of_Demeter
+
+
 Architecture
 ============