我有一个同事告诉我,他曾经在一家公司工作过,该公司的政策是永远在代码中没有条件(“ if”和“ switch”语句),并且他们让代码中的所有决定都使用多态性和(我猜)其他一些面向对象原则。
我有点理解这背后的原因,即拥有更干且更易于更新的代码,但我正在寻找对此概念的更深入的说明。也许这是更通用的设计方法的一部分。
如果有人对此有任何资源,或者愿意解释甚至有更多与此相关的术语,我可以使用它来寻找更多的答案,我将不得不这样做。
我在SO上发现了一个与之相关的问题,但是我不熟悉C ++,所以我对那里的答案不太了解。
(我不是OO大师,但我可以管理)
我最精通PHP,在Python之后,我更喜欢使用这些语言的信息。
更新:我将向我的同事询问有关他确切含义的更多信息。
2015年更新:经过多年的编程经验,我现在看到该策略的目的可能是防止程序员通过在某些地方仅添加条件(如果语句)来随意添加功能。扩展软件的更好方法是使用“打开/关闭原则”,其中通过使用继承和多态性来扩展软件。我强烈怀疑该政策是否在所有条件上都过于严格,因为如果没有这些条件,很难完全执行。
if
语句是对的,但是其他所有情况都是如此。