SCNA 2009 - Grand Unified Theory of Software Design: Jim Weirich

EdgeCase, LLC

Tech Interview

When interviewing over the phone, what do you look for? Passion?

"What do you look for in a good design?" Criteria?

Some principles:

Coupling and Cohesion - Myers

7 types of coupling - less is good.

Control Coupling


Two pieces of software share connascence when a change in one requires a corresponding change in the other.

From What Every Programmer Should Know About Object-Oriented Design (book). Section 2 predated UML - irrelevant. Updated version is: Fundamentals of Object-Oriented Design in UML.

Locality matters when looking at connascence. As the distance between pieces increases, you want weaker connascence.

Connascence of Name (CoN)

Connascence of Position (CoP)

Connascence of Meaning (CoM)


Things can't conflict with each other.

Connascence of Algorithm (CoA)

Connascence of Timing (CoT)

Connascence of Execution (CoE)

Connascence of Identity (CoI)

Connascence of Value (CoV)

Other Books

Your Host:
Copyright © 2009 by William Sorensen. All rights reserved.