4 ms·
> Refactoring across the call stack is orders of magnitude easier than refactoring across a socket. That's assuming that things haven't become deeply coupled w
by twerquie 11y ago
> Refactoring across the call stack is orders of magnitude easier than refactoring across a socket.
That's assuming that things haven't become deeply coupled within the "call stack". Separating things across a socket often forces a separation of concerns, which does tend to make refactoring easier.
- ecoffey 11y ago> That's assuming that things haven't become deeply coupled within the "call stack". Yep; Monolith or SOA you still have to write SOLID code :) > Separating things across a socket often forces a separation of concerns, which does tend to make refactoring easier. It /should/, and if it does now your changing more than the one variable of "invoked across stacks -> invoked across socket", and are more likely to introduce a regression :)
- crdoconnor 11y ago>Separating things across a socket often forces a separation of concerns It doesn't really force it. It just makes life really difficult for you if you don't. That doesn't mean it happens, though.
- bad_user 11y agoIn my experience communications across a socket does not force a separation of concerns. It doesn't even encourage it. Heck, because asynchronous communication in a non-deterministic environment is so hard to deal with, my experience is that such communications encourage shortcuts to be taken, so yes, I think it encourages tight coupling. The only thing that somewhat encourages a separation is having different people responsible for different modules and because people are selfish, they'll fight for their components to have less responsibilities, not more. So it becomes a territorial thing. But this happens only if you have seniors that know what they are doing, otherwise rookies or less competent folks end up cooperating to "get things done".
- AnonJ 11y agoWeird reasoning, that. I hardly see how a selfish, "territorial" and noncooperative approach could benefit anybody. Sure people might cooperate, but that doesn't mean they will take shortcuts and mess things up.
- nickbauman 11y agoThis is why AppEngine modules are so awesome. Have a route that takes on the majority of your traffic? Slice it off the main app declaritavely to its own cluster of machines.