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:06] – OOSC 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 ===== 
  
-  * Bertrand Meyer: //[[http://en.wikipedia.org/wiki/Object-Oriented_Software_Construction|Object-Oriented Software Construction]]// +===== Further Principles ===== 
-    * [[principles:Single Choice Principle]] + 
-    * [[principles:Linguistic Modular Units]] +  * [[principles:Don't Write Code To Find Code]] -- origin unknown 
-    * [[principles:Few Interfaces]] +  * [[principles:Minimize Intellectual Distance]] -- generalization of [[principles:Model Principle|MP]]see also Davis"201 Principles of Software Development" 
-    * [[principles:Small Interfaces]] +  * [[principles:You Ain't Gonna Need It]] (YAGNI) -- see [[principles:Keep It Simple Stupid|KISS]] 
-    * [[principles:Self-Documentation Principle]] +  * [[principles:Once And Only Once]] (OAOO) -- see [[principles:Don'Repeat Yourself|DRY]] 
-    * [[principles:Uniform Access Principle]] +  http://en.wikipedia.org/wiki/Composition_over_inheritance 
-    * [[principles:Command-Query Separation]] see also:  http://martinfowler.com/bliki/CommandQuerySeparation.html +  Fowler's First Law of Distributed Object Design (see "Patterns of Enterprise Pattlication Architecture p. 89"
-    * [[principles:Symbolic Constant Principle]] +  Form follows function 
-    * [[principles:Taxomania Rule]] + 
-    * ... +==== Places Where Further Principles May Hide ===== 
-    * :!: Create a principle collection for the principles in this book :!: +
-  * Andrew Hunt and David Thomas: //[[http://pragprog.com/the-pragmatic-programmer/extracts/tips|The Pragmatic Programmer]]// +
-    * [[principles:Program Close To The Problem Domain]] +
-    * [[principles:Crash Early]] +
-    * [[principles:Configure, Don'Integrate]] +
-    [[principles:Put Abstractions In Code, Details In Metadata]] +
-    [[principles:Separate Views From Models]] +
-    * [[principles:Eliminate Effects Between Unrelated Things]] (Orthogonality+
-    ... +
-    * :!: Create a principle collection for the principles in this book :!:+
   * [[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 39: 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 49: 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