User Tools

Site Tools


wiki:wish_list

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
wiki:wish_list [2013-01-15 10:37] – -ECV christianwiki:wish_list [2013-10-23 22:48] (current) – [Places Where Further Principles May Hide] christian
Line 1: Line 1:
 ====== Wish List ====== ====== Wish List ======
 +
 +===== Stubs =====
 +
 +:!: There are still many principle descriptions that are only stubs, which means major parts are missing: [[wiki:stub?do=backlink|List of Stubs]]
 +
  
 ===== Incomplete Principle Collections ===== ===== Incomplete Principle Collections =====
Line 7: Line 12:
   * [[collections:Unix Philosophy (Eric S. Raymond)]]   * [[collections:Unix Philosophy (Eric S. Raymond)]]
   * [[collections:Principles in "Object-Oriented Software Construction"]]   * [[collections:Principles in "Object-Oriented Software Construction"]]
 +  * [[collections:Principles in "The Pragmatic Programmer"]]
  
-===== Places Where Further Principles May Hide ===== 
  
-  Andrew Hunt and David Thomas: //[[http://pragprog.com/the-pragmatic-programmer/extracts/tips|The Pragmatic Programmer]]// +===== Further Principles ===== 
-    * [[principles:Program Close To The Problem Domain]] + 
-    * [[principles:Configure, Don't Integrate]] +  * [[principles:Don't Write Code To Find Code]] -- origin unknown 
-    * [[principles:Put Abstractions In Code, Details In Metadata]] +  * [[principles:Minimize Intellectual Distance]] -- generalization of [[principles:Model Principle|MP]]; see also Davis: "201 Principles of Software Development" 
-    * [[principles:Separate Views From Models]] +  * [[principles:You Ain't Gonna Need It]] (YAGNI) -- see [[principles:Keep It Simple Stupid|KISS]] 
-    * [[principles:Eliminate Effects Between Unrelated Things]] (Orthogonality+  * [[principles:Once And Only Once]] (OAOO-- see [[principles:Don't Repeat Yourself|DRY]] 
-    * ... +  http://en.wikipedia.org/wiki/Composition_over_inheritance 
-    :!: Create a principle collection for the principles in this book :!:+  * Fowler's First Law of Distributed Object Design (see "Patterns of Enterprise Pattlication Architecture p89") 
 +  Form follows function 
 + 
 +==== Places Where Further Principles May Hide ===== 
   * [[http://c2.com/cgi/wiki|Portland Pattern Repository]]   * [[http://c2.com/cgi/wiki|Portland Pattern Repository]]
     * [[principles:Don't Create Verb Classes]]     * [[principles:Don't Create Verb Classes]]
-    * [[principles:Don't Name Classes Object Manager Handler Or Data]]+    * [[principles:Don't Name Classes Object Manager Handler Or Data]] (see also Clean Code p. 25)
     * [[principles:Behavioral Completeness]] http://c2.com/cgi/wiki?PrinciplesOfObjectOrientedDesign     * [[principles:Behavioral Completeness]] http://c2.com/cgi/wiki?PrinciplesOfObjectOrientedDesign
     * [[principles:Principle of Essential Representation]] http://c2.com/cgi/wiki?PrinciplesOfObjectOrientedDesign     * [[principles:Principle of Essential Representation]] http://c2.com/cgi/wiki?PrinciplesOfObjectOrientedDesign
Line 26: Line 35:
   * Unix Philosophy   * Unix Philosophy
     * http://en.wikipedia.org/wiki/Unix_philosophy     * http://en.wikipedia.org/wiki/Unix_philosophy
-    * :!: Create one or---maybe better---several principle collections :!:+    * http://www.catb.org/~esr/writings/taoup/html/ch01s06.html
   * Joshua Bloch: [[http://www.infoq.com/presentations/effective-api-design|How to Design a Good API & Why it Matters]]   * Joshua Bloch: [[http://www.infoq.com/presentations/effective-api-design|How to Design a Good API & Why it Matters]]
     * alternative version of the talk: http://www.youtube.com/watch?v=aAb7hSCtvGw     * alternative version of the talk: http://www.youtube.com/watch?v=aAb7hSCtvGw
Line 36: Line 45:
     * http://programmer.97things.oreilly.com/wiki/index.php/Contributions_Appearing_in_the_Book     * http://programmer.97things.oreilly.com/wiki/index.php/Contributions_Appearing_in_the_Book
     * http://programmer.97things.oreilly.com/wiki/index.php/Other_Edited_Contributions     * http://programmer.97things.oreilly.com/wiki/index.php/Other_Edited_Contributions
- +  * [[http://www.python.org/dev/peps/pep-0020/|The Zen of Python]] 
-===== Further Principles ===== +  * Clean Code 
- +    * LeBlanc's Law: Later equals never 
-  * [[principles:Don't Write Code To Find Code]] (origin unknown+    * Blocks should be one line long (p. 35
 +    * Functtion names should not be just a restatement of the function implementation (p. 36) 
 +    * Stepdown Rule (p. 136)
wiki/wish_list.1358242672.txt.gz · Last modified: 2013-05-19 22:10 (external edit)