Greg Young shows you some ways that can help you to quickly identify the painful parts of your software.
- Data-mine your source control system
- Find commit patterns that could be bad smells (e. g. islands where only a single developer is working on)
- Get higher viewpoints of code
- Get an overview of the dependencies (modules, package, classes, methods)
- Don’t use gated check-ins based on software metrics
- Code metrics are only a guidance for you
- The interesting information lies in the deltas between changes (e. g. do you increase complexity or reduce it)
- Use tools that signal “interesting problems” in your code directly in your IDE (again, for guidance)
- Look for metrics that show you the “risk of a change”
- Code metrics make you more productive because they can reduce your fears
Bottom-line: All code metrics are heuristics that give you a higher level of perspective of your source code. But they are no “words from god”, only a guidance.