On Sun, Aug 15, 2010 at 8:13 PM, Brian Hurt <bhur...@gmail.com> wrote:
>
> Circular dependencies between modules is a major code smell.  Code where
> everything depends upon everything, or even close to that, is
> unmaintainable.

Sometimes there's simply no way around it. For instance, I recently
had some python code that (stripped to its simplest form) had two
classes, Document and Attachment, where Attachment was a specialised
subclass of Document, but Document had a list of Attachments as one of
its members. There was no way around packing the Document and
Attachment classes into one big file, simply because I couldn't do
circular module dependencies (python files are modules), but any
refactoring of the code to remove the circular dependency left it
*more* complicated than before.

martin

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to