[squeak-dev] PackageDependencyTest

Ronald Spengler ron.spengler at gmail.com
Tue Mar 2 05:55:20 UTC 2010


Andreas, this is fantastic! While I'm keeping myself from digging into
anything not related to 4.0 right now, I'd love it if you might point
me at where to look for how this works, such that I can explore
further when I have time? I found myself frustrated with the often
bizarre dependency graph in Squeak almost right away when I found code
in the compiler (which I removed in trunk) that was coupled to the
browser's pretty-print feature.

I've toyed with dependency analysis in squeak, but I lack the
experience with the system to make meaningful sense of it.

Are these just dependencies that you happen to be aware of, or is
there a tool or technique that you used to find them?

On Monday, March 1, 2010, Andreas Raab <andreas.raab at gmx.de> wrote:
> Folks -
>
> I just posted a set of tests for various package dependencies. I'm hoping that this will serve two purposes:
>
> 1) Inspire people to pick up and remove unneeded dependencies. For example, if look at testCollections you'll find MorphicExtras listed among the Collection dependencies.
>
> If you remove the dependency from the test the test will fail and you can look at the dependencies to see that there's a dependency on BookMorph. A bit of digging leads you to TextSqkPageLink in Collections-Text and you can now look at how to rewrite this to avoid the dependency. (we should keep better track of the dependencies; keeping original method references would be good)
>
> Effectively this is sort of a test driven untanglement approach - you pick a particular dependency, make the test fail, track it down, remove it, make the test pass.
>
> 2) Keep track of the existing dependencies and ensure they don't get any worse than they are today. These tests can hopefully raise awareness to these issues by documenting the dependencies and failing if new ones get added carelessly.
>
> Cheers,
>   - Andreas
>
>
>

-- 
Ron



More information about the Squeak-dev mailing list