面向对象编程被批是“灾难”,为什么这么多开发者讨厌它?| 话题

阅读数:143 2019 年 9 月 10 日 18:09

面向对象编程被批是“灾难”,为什么这么多开发者讨厌它?| 话题

面向对象编程(OOP)已经存在了很长时间。有人喜欢它,有人讨厌它,但目前面向对象编程目前面临的一个尴尬是:讨厌它的人似乎比喜欢它的人多。这到底是为什么呢?

此前,InfoQ 发布了一篇题为《为什么有这么多开发者讨厌面向对象编程》的文章,文中提到,一位高级全栈工程师 Ilya Suzdalnitski 发表了一篇 6000 字的 OOP 批判文章,没想到意外收获 50 万阅读和一众程序员“赞同”的声音。

Suzdalnitski 给 OOP 列出了数宗“罪”:

OOP 是“万亿美元的灾难”;

OOP 没能把它本应该要解决的问题解决好,反而把事情变得更加复杂。OOP 代码的变量及其可变状态“在不同的对象之间被随意共享;

在大多数情况下,OOP 代码最终会变成带有全局状态的大泥团,任何人都可以随意修改它;

面向对象代码难以重构,也难以进行单元测试。写出好的、可维护的面向对象代码很难, 程序员宝贵的时间和精力都花在思考‘抽象’和‘设计模式’上,而不是解决现实世界中的问题。

Suzdalnitski 还在文章最后指出, OOP 的竞争编程范式—函数式编程将是更好的选择。

你喜欢用 OOP 吗?如果不,你讨厌它的理由是什么?你认为 OOP 更好还是被函数式编程更好?

评论

发布