Abstraction and Encapsulation

Abstraction and encapsulation are opposite sides of the same coin, and essential to good object oriented software design.  Why the, is there a tendency of some programmers to go in exactly the opposite direction?  This trend and its implication is discussed below. Continue reading

Keep It Simple: Factory

Some of our development is done by outside contractors, and they have a long list of “code policies” for producing good code.  I have nothing against such policies in theory, but in practice it leads a lot of unnecessary work, simply because simplistic rules about good code do not always lead to good code.  This post is about an example. Continue reading