This reminds me of one of the other JAOO talks, by Walter Bischofberger of Computer Tomography GmbH. Their Sotograph tool does analyses of very large software projects in Java, C/C++ or C#. It's able to work at several different levels showing dependencies between classes, packages, modules etc. Bischofberger's standpoint was that keeping dependencies between different parts of a program to a minimum is very important for keeping a program understandable and modifiable. The relevant Anti-pattern is Big Ball of Mud. As a sort of illustration, they showed a graph of a huge blob of mutually dependent classes in the J2SE standard libraries - 1315 of them in all. He also showed it's been getting worse for each release of the SDK.That's sort of depressing, even for someone like me who isn't quite as sensitive to smelly code as some people can be.
No comments:
Post a Comment