编程中什么时候最适合/需要定义类呢? [Python例举]

2013-08-13 17:29:06 +08:00
 pinkman
举个具体Python脚本的例子,譬如一个爬虫脚本我正在写的。爬虫里面有爬取的目标地址url,有爬抓取网页的步骤。

方案一是纯过程式的
方案二是将爬去的步骤封装成函数,以便复用(譬如可以传入不同的url)
方案三是面向对象的,将url封装为property?,将步骤封装成方法。

有必要采用面向对象的方法吗?好处体现在哪呢?
2630 次点击
所在节点    问与答
6 条回复
celon
2013-08-13 17:31:50 +08:00
个人观点:
如果只是一次性项目,方案一不错。
需要复用,方案二。
完全没有必要OO
pandada8
2013-08-13 17:33:31 +08:00
自己写爬虫的时候用OO只是为了有个放数据的地方……调用函数的时候不用跟具体参数……
itommy
2013-08-13 18:25:55 +08:00
我从方案一到方案二,现在有发展到方案三的节奏了
meta
2013-08-13 18:40:07 +08:00
你先随便写,写的函数多到一定规模的时候就会发现这样实在太乱了,再发展下去自己要控制不住了,这时候自然的就会想到把使用同一批变量的函数弄成一个类了。
workaholic
2013-08-13 18:44:06 +08:00
方案一至方案三, 可扩展性和易维护性 越来越好
thedevil5032
2013-08-13 20:40:33 +08:00
之前有个要求很简单的项目,于是我就按照一那样写了。完全没问题。

后来,客户要增加的功能多了,代码多了,就全乱套了。只好花一个晚上推倒,按照三来做。

现在无论是加功能还是 DEBUG,都容易得多。

所以,楼上说得好。 :D

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

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

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

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

© 2021 V2EX