The Page-Jones refactoring algorithm

In Fundamentals of Object-Oriented Design in UML Meilir Page-Jones offers the following guidelines for system maintainability:

  1. Minimise overall connascence
    By breaking the system into encapsulated elements
  2. Minimise connascence crossing encapsulation boundaries
    By maximising the connascence within encapsulation boundaries

This feels like something of an “algorithm” for refactoring, if only we could quantify what “maximise” and “minimise” mean. In the next few months I’m going to have a stab at doing just that, with the help of audiences around Europe as I roll out my new talk “Love and Death: Everything you always wanted to know about coupling but were afraid to ask”. I plan to report back here as the wisdom of crowds helps me flesh out what the above algorithm might mean. First up is XProLo next week, followed by NWRUG in July. Watch this space…!

2 thoughts on “The Page-Jones refactoring algorithm

  1. Pingback: Clean Code: what is it? | silk and spinach

  2. Pingback: It’s bikesheds all the way down | silk and spinach

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s