in reply to Advisability of circular dependencies in packages

I'm not really educated about good code design, but I have a notion about your situation, and I'm posting it not so much because I think I'm right, as because I'd like to hear what everyone else has to say about it:

here goes..

If two modules load code from eachother, merge them into one module.

/me ducks head

  • Comment on Re: Advisability of circular dependencies in packages

Replies are listed 'Best First'.
Re^2: Advisability of circular dependencies in packages
by chromatic (Archbishop) on Nov 13, 2006 at 20:49 UTC

    That sounds like a recipe for the Big Ball of Mud to me. Did you mean to say "merge the mutual parts into a single, separate, third module"?

      I happened to be reading Big Ball of Mud, and I think it's good enough to mention the link. Ironically, the whole book is on one big page ;^)
Re^2: Advisability of circular dependencies in packages
by Anonymous Monk on Nov 13, 2006 at 22:00 UTC
    If two modules load code from eachother, merge them into one module.

    In theory, yes. In practice; no, except maybe on a temporary basis; depending on how your mind works.

    On a conceptual level, you need to discover how the two modules come together to form one or more logical units.

    Then you need to take the code that comprises each one of those logical units, turn each logical unit into it's own distinct module.

    Some people might find it's easier to put all the code together into one file while trying to sort out how the code works together; other people don't mind bouncing back and forth from file to file.

    So, it's not a bad first step; but as chromatic points out, it shouldn't be your final step.