this post was submitted on 20 Jul 2023
855 points (99.2% liked)

Programmer Humor

32739 readers
661 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] Elderos 5 points 1 year ago* (last edited 1 year ago)

What you seem to be describing is one big class with lots of responsabilities, and not circular dependency. Personally, I don't think it is ideal, and I don't know about your specific case so I could be wrong, but I have never seen a legit case for bloated classes. That being said, making a big class is still much better than splitting it into inter-dependant classes. Classes that know each other are so cohesive that they might as well be the same class anyway.

To add onto the circular dependency problem, it is not just about readability and cognitive load (though there is some of that), but cyclic dependencies actively break things, and make it much harder to manage the lifecycle of a program. No dependency injection, poor memory management, long compile times. It is a huge hack, and I understand that you think it can be the proper solution sometime, but it is really just a bad thing to do, and it will bite you some day. And I am assuming here that you're using a language that is friendly, in some languages you won't even compile or run past a certain point, and good luck cleaning up that mess.

edit: replaced "module" with "class" for consistency