现代软件过度工程误区


平衡

Engineering is more clever than Business:The House (Business) Always Wins
PM 跟开发想的不同

Reusable Business Functionality: Prefer Isolating Actions than Combining
Everything is Generic:Duplication is better than the wrong abstraction
共享太多的业务逻辑,当添加一个新逻辑时需要全部修改

Shallow Wrappers:Wrappers are an exception, not the norm. Don’t wrap good libraries for the sake of wrapping
包装出来的工具还是和原库耦合,原库的修改可能导致需要在业务层修改

Applying Quality like a Tool:Always take a step back and look at the macro picture
别跑偏了,比如图片管家用户控制台曾经的离线搜索功能

Overzealous Adopter Syndrome
新功能都要用上,但往往不是适合的方案

–ity:Don’t let -ities go unchallenged. Clearly define and evaluate the Scenario/Story/Need/Usage.
考虑太多不必要的工程化

In House "Inventions":Reuse. Fork. Contribute. Reconsider.
Following the Status Quo:Refactoring is part of each and every story. No code is untouchable
自己研发一套轮子

Bad Estimation:Bad Estimation destroys Quality even before a single line of code is written
定位太高做不到最终采用丑陋的方案