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
Last revisionBoth sides next revision
wiki:wish_list [2013-01-14 17:47] – - Crash Early christianwiki:wish_list [2013-10-06 17:57] – clean code 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 LawLater equals never 
-  * [[principles:Don't Write Code To Find Code]] (origin unknown) +    * Blocks should be one line long (p. 35
-  * [[principles:Encapsulate The concept That varies]] (See GoF book+    * Functtion names should not be just a restatement of the function implementation (p. 36)
wiki/wish_list.txt · Last modified: 2013-10-23 22:48 by christian