【问题标题】:Proper usage of Classes and Functions正确使用类和函数
【发布时间】:2012-12-14 01:35:32
【问题描述】:

我从另一个开发人员那里接管了网站,他将所有内容都放在类文件中的函数中。

例如页面列出系统用户our_users.php

$users = $object_user -> get_users_list();

并且函数get_users_list() 不在网站上的其他任何地方使用。

这样做有意义吗?

我个人什至不会创建函数,而只是将函数 get_users_list() 中的代码放在 our_users.php 中,因为它只使用过一次。

【问题讨论】:

    标签: oop class theory


    【解决方案1】:

    目前 OOP 的指导原则之一是“关注点分离”的概念。这意味着您将小型工作单元提取到它们自己的方法和类中。用一种方法直接做一百件事的想法与此相反。

    拆分功能使您的代码更易于阅读、维护和测试。

    网络上有许多关于 OOP 最佳实践的博客文章 - SOLID 目前是最重要的。如果您查找它们,我相信它们中的任何数量都可以比我更好地描述它们。

    【讨论】:

    • 你所说的“做一百件事的方法”是什么意思,因为我理解方法是存在于类中的函数?是的,我猜你的意思是他使用带有大量代码(有时是 500 行函数)的大函数,这些代码也在许多其他函数中重复。我同意只有函数应该只做一些可以反复使用的事情。
    • ...我同意函数应该只做一些可以反复使用的事情。否则,如果您只是在函数内部复制显示用户的页面 our_users.php 的一部分或创建用户的另一部分,则创建一个是没有意义的。然后你会为每个页面获得这个怪物函数,将代码加倍并使其成为意大利面条。
    【解决方案2】:

    OOP 不仅使代码更易于重用,还有助于对功能进行分组,并确保其他开发人员在尝试理解您的工作时不会迷失方向。如果您开始撕毁以前开发人员的结构,IMO 会自取其辱。

    【讨论】:

    • 必须这样做,因为以这种方式与网站一起工作非常容易混淆,他称函数为一些不明显的名称。我也使用 OOP,但我不明白为什么我将代码放入函数中,如果该函数和未来更多的函数存储在其他文件中,而该函数只有 1 次调用。
    猜你喜欢
    • 2019-10-25
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-03
    • 1970-01-01
    相关资源
    最近更新 更多