Hacker News new | ask | show | jobs
by _stuart 4624 days ago
The author is measuring largest cluster-size vs threads/button.

In any software, everything is going to be connected, otherwise there's unreachable code. So the largest cluster is always 100%, so I don't get why his argument about the sudden phase transition is relevant to software?

1 comments

I think the answer to your question is in the missing directions on the threads. The goal of modular software is to have the arrowheads point in the right directions.

Uncle Bob was talking about this in his keynote about how Rails is not your application.

http://confreaks.com/videos/759-rubymidwest2011-keynote-arch...

http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-arch...

https://vimeo.com/21145583

I was wondering about this too. I don't quite get how this random assignment of connections between components correlated to software complexity. Software isn't randomly connected (I know, sometimes you see stuff which flies in the face of this statement). And the directions of the connections are very important. You can create something that has a single component at the top connected to 100 other components. threads/buttons = 100/101 and the biggest cluster = 100%. I'd wager it would probably be a simple program to reason about. I guess I'm confused about the leap from cluster size to complexity to reason about.