pinkman
V2EX  ›  问与答

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

  •  
  •   pinkman · Aug 13, 2013 · 3174 views
    This topic created in 4742 days ago, the information mentioned may be changed or developed.
    举个具体Python脚本的例子,譬如一个爬虫脚本我正在写的。爬虫里面有爬取的目标地址url,有爬抓取网页的步骤。

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

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

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

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

    所以,楼上说得好。 :D
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3242 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 335ms · UTC 03:28 · PVG 11:28 · LAX 20:28 · JFK 23:28
    ♥ Do have faith in what you're doing.