A set of criteria, in priority order, to judge whether some source code is “simple enough”:
- the code is verified by automated tests, and all such tests pass
- the code contains no duplication
- the code expresses separately each distinct idea or responsibility
- the code is composed of the minimum number of components (classes, methods, lines) compatible with the first three criteria