Responsibilities and it's derivative — abstractions — are one of the more ambiguous aspects of software quality, at least to me. When I talk about software quality, I usually talk about quantifiable/measurable things like Complexity, length, naming conventions, formatting, duplications, and so on. These measurable aspects can be checked for…