首页 > 其他 > 详细

不要滥用面向对象,写出难以阅读和修改的代码

时间:2018-05-06 22:12:55      阅读:245      评论:0      收藏:0      [点我收藏+]

 

笔者参与过一些完全以面向对象为设计思想的项目,不过感觉都不太好,例如,它们往往有非常之多的硬编码和隐藏的逻辑,导致小小的修改往往会出现意外的问题;因为对象调用跳转太多,代码也很难阅读和修改,调用关系很难理解。

 

个人认为,这不但是写代码的人不注意的问题,而是面向对象这种方法,鼓励了非常之不好的代码写法:

1.  面向对象倾向于将所有函数都定义为内部函数,不喜欢将函数独立出来,函数需要的变量都定义为对象的内部变量,于是很多人开始写出这样的代码:所有的成员函数基本没有什么参数,执行时候不知道在干什么,在依赖哪些变量,改变哪些变量。

2. 不断地new对象,还用了各种虚方法,就是为了解决一些简单的问题,导致不知道究竟调用了哪些方法。这些问题不如直接switch case简单。

3. 写死了框架,极其复杂笨重,创建了太多对象,每个对象都不知道在干什么,而且能传的参数太少,后期修改时候,太复杂不敢改框架,于是乎开始写死各种代码逻辑。

 

改进的方法:

一:写比较内敛的代码:比如能用函数解决的问题,不要用对象;需要的参数尽量在函数参数内传入;状态尽量在函数内部流转,不要牵涉到外部的变量。

二:面向数据来设计框架,统一数据的处理,而不是用更多的对象来解决数据异化的问题。

 

不要滥用面向对象,写出难以阅读和修改的代码

原文:https://www.cnblogs.com/dearplain/p/8971457.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!