喷下反if else的言论

中山野鬼 发布于 2013/11/27 22:10
阅读 1K+
收藏 2

看了咨询中的一个内容,大意是,if else 不好,应该用多态。。。哈,无语的很。

if else好不好是一回事,if else 是否应该存在是另一回事。为什么我们设计程序,需要if else,其实这个和数学证明中,出了描述、迁移外,还有判定,有关联。没有if else的东西,本身就不是逻辑推演的东西。

if else,对于程序设计,也是演绎逻辑实现,是必须存在的。无非以什么形式存在。不用if else ,用多态就好?说难听点,就是脱裤子放屁,或者手捧shit 丢马桶。

并非说多态这种逻辑表达方式不对,而是说,因为if else 觉得不好,就转用多态实现,是个shit的思维。

if else 好不好,通常是设计者本身的逻辑思维水平好不好决定的,因为设计任务放那,该有的判定,是不可回避的。

不妨反过来思考一下,给定逻辑下,连if else 都写不好的人,让他使用多态实现,他的逻辑表达就清晰严谨了?扯淡。

同样的道理是在,过程函数式语言都写不好的人,指望能自己设计oo的类?这也是扯淡。无非前者设计起来重复书写的内容更多些,但更符合逻辑演绎的表达,而对于后者oo 的东西用起来方便,很可惜,用起来方便,这个被曲解为门槛低,以至于正常逻辑表达方式的编程都处理不好的人也能用。

哈,水货哪都有,那篇文章所描述的货,绝对是一个。。

加载中
0
loyal
loyal

主要看 if else if else 同级别的有多少,如果太多明显是设计问题.

如果少就2-3个,那到无所谓.

0
宏哥
宏哥

哈哈

其实 OO那套东西, 继承 , 多态..... 哪个不是if-else的逻辑?

OO就是把屁股朝天拉屎, 不拉在裤子上的就叫做"OO设计师"

整个OO的设计精髓就在于不要把屎拉裤子上

问题是, 为什么要朝天拉屎呢 --  为了OO

这个世界上找出比OO更愚蠢的东西, 真不多

0
中山野鬼
中山野鬼

引用来自“宏哥”的答案

哈哈

其实 OO那套东西, 继承 , 多态..... 哪个不是if-else的逻辑?

OO就是把屁股朝天拉屎, 不拉在裤子上的就叫做"OO设计师"

整个OO的设计精髓就在于不要把屎拉裤子上

问题是, 为什么要朝天拉屎呢 --  为了OO

这个世界上找出比OO更愚蠢的东西, 真不多

有利有弊,有利的就是方便,我想不出其他理由,其实c++的设计者也是这个理由,悲剧的方面就是极大的提高了耦合度,逻辑是按照对象进行聚焦,由此多出很多概念,还有很多,美其名曰语法糖,总是把简单的事情搞复杂。哈。
0
中山野鬼
中山野鬼

引用来自“loyal”的答案

主要看 if else if else 同级别的有多少,如果太多明显是设计问题.

如果少就2-3个,那到无所谓.

逻辑描述,还是要根据不同维度尽可能的正交分解,降低局部代码中的组合逻辑的处理。其实都是可以的,无非看对设计的理解程度和自己的逻辑组织能力了。哈。工具不存在好坏的问题,问题在用的人。。
0
宏哥
宏哥

引用来自“中山野鬼”的答案

引用来自“宏哥”的答案

哈哈

其实 OO那套东西, 继承 , 多态..... 哪个不是if-else的逻辑?

OO就是把屁股朝天拉屎, 不拉在裤子上的就叫做"OO设计师"

整个OO的设计精髓就在于不要把屎拉裤子上

问题是, 为什么要朝天拉屎呢 --  为了OO

这个世界上找出比OO更愚蠢的东西, 真不多

有利有弊,有利的就是方便,我想不出其他理由,其实c++的设计者也是这个理由,悲剧的方面就是极大的提高了耦合度,逻辑是按照对象进行聚焦,由此多出很多概念,还有很多,美其名曰语法糖,总是把简单的事情搞复杂。哈。
除了construct 和destruct 之外, 没有看出任何方便的地方.
0
中山野鬼
中山野鬼

引用来自“宏哥”的答案

引用来自“中山野鬼”的答案

引用来自“宏哥”的答案

哈哈

其实 OO那套东西, 继承 , 多态..... 哪个不是if-else的逻辑?

OO就是把屁股朝天拉屎, 不拉在裤子上的就叫做"OO设计师"

整个OO的设计精髓就在于不要把屎拉裤子上

问题是, 为什么要朝天拉屎呢 --  为了OO

这个世界上找出比OO更愚蠢的东西, 真不多

有利有弊,有利的就是方便,我想不出其他理由,其实c++的设计者也是这个理由,悲剧的方面就是极大的提高了耦合度,逻辑是按照对象进行聚焦,由此多出很多概念,还有很多,美其名曰语法糖,总是把简单的事情搞复杂。哈。
除了construct 和destruct 之外, 没有看出任何方便的地方.
对于桌面设计,已经很方便了。哈。。
0
雨翔河
雨翔河
自己感觉想用且有必要的时候就用,不想用且没必要用的时候就不用,没有那么多其它的。。。
ddatsh
ddatsh
+1
0
小耶果
小耶果

OO最大的好处是封装,正是OO造就了无数的码农.现在的趋势是POD变OO,key word变OO,将来会变成逻辑变OO,业务变OO.比如 CodeFactory.buildCRM(){...};CodeFactory.buildERP(){...];

OK,大家都失业了.因为客户也会敲键盘.

黑狗
黑狗
才怪
0
Timothy
Timothy
CodeFactory.buildDoc(){...}
0
Jakes
Jakes
呀,之前有看到这篇资讯,都没进去看的欲望。
返回顶部
顶部