June 22, 2015 at 07:54PM
"Redundancy sucks [but] I say kill dependencies first." #readingToday  

Redundancy sucks. Redundancy always means duplicated efforts, and sometimes interoperability problems. But dependencies are worse. The only reasonable thing to depend on is a full-fledged, real module, not an amorphous bunch of code. You can usually look at a problem and guess quite well if its solution has good chances to become a real module, with a real owner, with a stable interface making all its users happy enough. If these chances are low, pick redundancy. And estimate those chances conservatively, too. Redundancy is bad, but dependencies can actually paralyze you. I say – kill dependencies first.

I believe that there are just two intrinsic forces in programming: You want to minimize redundancy and, ideally, define every piece of knowledge once. You want to minimize dependencies – A should depend on B only if it absolutely must. I think that all other considerations are of the extrinsic ...