在使用 Python 的时候,是面向对象多点呢还是面向过程多点?

2016-12-31 08:23:07 +08:00
 jingniao
跟同事一起写过一个 Python ,项目,他的风格是面向对象,喜欢封装成一个类,一个类里有 10 多个类变量, 30 多类方法,还有类之间嵌套:在一个类里成员变量是另外一个类实例。
我因为入门是 pascal 跟 c 这种,面向过程已经成习惯了,一般是一堆函数,外加一小部分很小的类。
大家习惯用哪种?
主流是哪种?
6864 次点击
所在节点    Python
36 条回复
21grams
2016-12-31 14:11:52 +08:00
当然面向对象
ldehai
2016-12-31 14:59:33 +08:00
@jingniao 主要看整个程序是否容易阅读和维护,找个平衡点。
我之前重构过一个同事写的 C 程序,用的是函数式,功能是为了 P2P 下载的方便,把 mp4 文件流化,音、视频帧分片处理。我用 C++改成面向对象的了,结构和流程清晰了好多。
Thoxvi
2016-12-31 15:16:38 +08:00
面相代码多一点(误)
meta
2016-12-31 15:17:24 +08:00
你同事写那种,不是面向对象。
muziyue
2016-12-31 16:15:20 +08:00
面向过程,不是做 python 的,写的都是小程序
freestyle
2016-12-31 16:32:17 +08:00
代码长了就不得不面向对象了
practicer
2016-12-31 18:13:39 +08:00
我入门编程后第一个正式小项目 1500 行, 刚开始做的时候没封装成类, 到后面不得不用类来表达项目结构了, 转类后清晰了很多, 拓展起来更容易, 是一个数据项目
Miy4mori
2016-12-31 20:55:38 +08:00
面向 deadline 多一点
herozhang
2016-12-31 21:07:59 +08:00
200 行为分界点
nicegoing
2016-12-31 23:22:37 +08:00
分层,解耦,面向对象比较好。把有关联的方法数据封装在一起作为一个类,我觉得写起来思路清晰,长期来看写的快一点。如果是非常简单的项目,功能少,那就直接面向过程了。
yche
2017-01-01 10:54:11 +08:00
简单的时候先面向过程,然后考虑怎么面向对象。比如说有许多相同参数要传递的时候,考虑做成类的成员变量;然后该`@staticmethod`的弄成 static ;然后我写的时候尽量考虑数据是怎么变化的,多用 map/reduce/filter 会比 for-loop 更让别人清除我的意图。
luobuda
2017-01-01 12:41:18 +08:00
面向数据吧,数据值钱,代码不值钱
geralt0725
2017-01-01 15:53:23 +08:00
本人非常熟悉面向对象、架构模式还有领域驱动那一套
然而现在真心不喜欢这些东西
几句话简单明了的事情搞一坨没用的飞机干嘛?
给自己找累,也给公司招聘接手找累
lrh3321
2017-01-01 19:23:37 +08:00
面向对象多一点

面向过程在多人协同的时候,有点痛苦。
SeanLin
2017-01-02 10:05:09 +08:00
取决你是'python hello.py' 还是'ipython In[1]: print 'hello world' '
yaoliyc
2017-01-02 19:36:52 +08:00
面向工资。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/331387

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX