面向对象编程(OOP)已经存在了很长时间。有人喜欢它,有人讨厌它,但目前面向对象编程目前面临的一个尴尬是:讨厌它的人似乎比喜欢它的人多。这到底是为什么呢?
此前,InfoQ 发布了一篇题为《为什么有这么多开发者讨厌面向对象编程》的文章,文中提到,一位高级全栈工程师 Ilya Suzdalnitski 发表了一篇 6000 字的 OOP 批判文章,没想到意外收获 50 万阅读和一众程序员“赞同”的声音。
Suzdalnitski 给 OOP 列出了数宗“罪”:
OOP 是“万亿美元的灾难”;
OOP 没能把它本应该要解决的问题解决好,反而把事情变得更加复杂。OOP 代码的变量及其可变状态“在不同的对象之间被随意共享;
在大多数情况下,OOP 代码最终会变成带有全局状态的大泥团,任何人都可以随意修改它;
面向对象代码难以重构,也难以进行单元测试。写出好的、可维护的面向对象代码很难,程序员宝贵的时间和精力都花在思考‘抽象’和‘设计模式’上,而不是解决现实世界中的问题。
…
Suzdalnitski 还在文章最后指出, OOP 的竞争编程范式—函数式编程将是更好的选择。
你喜欢用 OOP 吗?如果不,你讨厌它的理由是什么?你认为 OOP 更好还是函数式编程更好?欢迎在下方评论区互动留言。
欢迎大家在评论区留言,我们将为留言区点赞数最高的同学送出 《测试工程师全栈技术进阶与实践》一本,点赞统计截至 2019 年 9 月 16 日。任何与活动相关问题,请联系小助手微信号:Infoqzone2。
讨论 (10 条讨论)