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-14 17:06] – OOSC 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 ===== 
  
-  * 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) 
 +    * Stepdown Rule (p. 136)
wiki/wish_list.1358179587.txt.gz · Last modified: 2013-05-19 22:09 (external edit)