3 ms·
"I don't really understand why this would be an advantage in a large app." They make quite a few points in the article: > The tangle of dependencies, callbacks
by rawburt 7y ago
"I don't really understand why this would be an advantage in a large app." They make quite a few points in the article:
> The tangle of dependencies, callbacks, and relationships can grind your entire engineering organization to a halt.
> Why do we want encapsulation? As an organization grows, any public interface will eventually be used.
> So we start to take a defensive approach to modeling, only making public what we are sure that we can support. This makes these models easier to support because they have a smaller surface. They are easier to change internally, too, because there are fewer different uses.
> It has also helped teams collaborate and create contracts for interactions.
"but then you have to slow down and add all those wrappers for active record stuff" you also have to slow down to resolve technical debt and deal with collaboration, among other things. It seems that the approach they describe is giving them a positive opportunity cost. There are always pros and cons.
"And unless I want to restrict stuff I would want the default to be exposed" the article explicitly says they wanted to restrict stuff.