Showing posts with label design. Show all posts
Showing posts with label design. Show all posts

Tuesday, October 20, 2009

Entities must not be multiplied beyond necessity.
Occam's razor

Wednesday, May 27, 2009

Make things as simple as possible—but no simpler.
Albert Einstein

Tuesday, November 18, 2008

Complicated code is a sign that you don't understand your program well enough to make it simple.
Steve McConnell, Code Complete, Second Edition

Monday, November 17, 2008

In allocating resources, strive to avoid disaster rather than to attain an optimum.
Butler W. Lampson, Hints for Computer System Design

Tuesday, November 4, 2008

Make interfaces programmatic rather than semantic when possible. Each interface consists of a programmatic part and a semantic part. The programmatic part consists of the data types and other attributes of the interface that can be enforced by the compiler. The semantic part of the interface consists of the assumptions about how the interface will be used, which cannot be enforced by the compiler. [...] Look for ways to convert semantic interface elements to programmatic interface elements by using Asserts or other techniques.
Steve McConnell, Code Complete, Second Edition

Thursday, October 23, 2008

Good interfaces are easy to use correctly and hard to use incorrectly. Your should strive for these characteristics in all your interfaces.
Scott Meyers. Effective C++. 3rd Edition.

Wednesday, October 22, 2008

Voltaire said that a book is finished not when nothing more can be added but when nothing more can be taken away. In software, this is especially true because extra code has to be developed, reviewed, tested, and considered when the other code is modified.
Steve McConnell, Code Complete, Second Edition