“先确保解决方案简单可用,再考虑通用性和复用性”
多数开发者开发的是专用系统,无限制的通用性对于他们的帮助不大。
寻求通用性最好的办法是研究现有的具体案例,抓住问题的实质,从根本上得出通用解决方案。
通过经验提炼的简单方案,远胜过不切实际的通用性。
“先简单后通用”原则可以成为最终的评判标准。
设计组件的首要任务是抓住具体需求,满足需求。
提炼通用性可以使我们更加接近问题的本质,通过分析已有案例可以获得清晰、简洁、有依据的规律和方法。
然而提炼通用性往往流于形式,南辕北辙,不但无法减少复杂性,反而增加复杂性。
追求理论上的通用性通常会导致解决方案脱离实际的开发目标。
由于通用性基于错误的假设,所以无法提供有价值的方案。
具体情况具体分析,有针对性的解决方案才有价值。
过早脱离具体情况,只会迷失在无限的可能性里,被复杂的配置选项、超负荷的参数列表、冗长啰嗦的接口,以及存在缺陷的抽象所淹没。
追求随心所欲的灵活性,会使人们在无意中错失更简单的设计和更有价值的特性。