【问题标题】:If I'm the only developer on a project, do I still need to use encapsulation? [closed]如果我是项目中唯一的开发人员,我还需要使用封装吗? [关闭]
【发布时间】:2013-01-10 06:32:34
【问题描述】:

我总是听说,每当我们编写面向对象的代码时,我们都需要进行封装。如果我是一个项目的唯一开发者,我还需要使用封装吗?

【问题讨论】:

    标签: oop encapsulation


    【解决方案1】:

    给出答案的一种方法:从概念上讲,封装的存在是为了编写更好、更安全、更不容易出错的代码。它不存在,主要是为了促进团队一起编写代码(这可能是副作用,但这不是目的)。

    因此,封装旨在促进从一个编码员到多个编码员的规模,它们是与编码员数量无关的商品,尽管这些商品可能会在项目和团队越大时得到更强的表达.

    【讨论】:

    • 我非常同意你的回答。你能评论一下类似的question吗?
    【解决方案2】:

    封装是有原因的。

    完成后必须有人维护和管理您的代码,对吗?如果项目变得更大并且您有团队成员怎么办?

    所以,答案是“是”,最好尽可能使用封装。

    【讨论】:

    • 请解释一下我刚刚在 codereview codereview.stackexchange.com/questions/20321/…987654321@阅读的这个例子
    • 那里的答案不是已经解释了吗?
    • 您必须对各种功能进行逻辑分离,以便减少coupling。每个class 都必须专注于它最擅长的事情,而让其他专业课程处理其余的事情。然后你不要让其他班级知道你是如何做你的事情的。
    【解决方案3】:

    你问这个问题的事实让我想知道你实际上没有得到封装的实际价值,作为一种减少并因此处理复杂性的手段。 我的理论计算机科学教授曾经告诉我,最后,如果你考虑一个程序的整个二进制表示,任何程序都只是一个数字。确实很大,但只有一个数字。确实如此,我们使用除 0 和 1 之外的任何其他构造(即 C++、Java、Python、函数式编程、面向对象编程、面向方面编程等)只是因为我们需要更抽象的方法来获得我们需要的一个号码。

    【讨论】:

    • 非常感谢大家看到问题是理论上我知道这些东西,但是当我想实现它们时,我觉得不管我是否遵循 oop,它都会做同样的事情
    • 我知道这是错误的心态,但你们解释一下我会很棒
    • 你不遵循 OOP 的唯一原因是为了安全,至少在前 5000 行代码中(如果你的程序变得更大,我发誓你会错过一些 OOP 规则) .这就像刷牙:你可以每天节省很多时间,而且刷牙又快又脏,但从长远来看,你不会有太多的刷牙乐趣。所以如果你打算在 10 年后仍然使用它们,你应该付出努力!
    • 很好,它确实有意义。这应该会激发编写一些 OO 代码
    猜你喜欢
    • 1970-01-01
    • 2022-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-09
    • 1970-01-01
    相关资源
    最近更新 更多