0

我目前是一名初级工程师,热衷于学习最佳实践并扩展我的经验。我的问题涉及任何静态编程语言,例如 Java、C#、C++ 等。

当我编写代码时,我喜欢让它易于阅读。在我看来,阅读代码应该像阅读一本书。它应该流畅而优雅。然后,即使我不需要使用它们,我也喜欢尽可能添加this, super–<code>base 关键字。当我想使用常量或静态变量/方法时,当前类名也是如此。

因此,另一位开发人员可以很快获得远景。他知道这个方法或 var 在当前类或母类中,无需移动到声明。您可能会对我说,使用最近的 IDE 很容易做到这一点。但是,我知道有很多人仍在使用 Vim、Emacs 或其他没有这些花哨功能的编辑器。

在解释它时,我喜欢将我的实践与戏剧书进行比较。我们都至少读过其中之一,例如莎士比亚的麦克白。谁不曾在书的开头回过头来知道那个角色是谁以及他在情节中扮演了什么角色而感到沮丧?你这样做了很多次,对吧?

我的问题可能与识字编程实践有关。但是,我认为 Donald Knuth 的建议更多是关于在代码中注释和添加宏。

所以我想知道您对这些做法的意见和反馈。我做的太多了吗?我应该保持简单吗?我是否违反了 OOP 规则?

这是一个代码示例:

class Bar {
    protected int _motherVar;

    public aBarMethod() { }
}

class Foo extends Bar {
    private static List<String> _strings;

    private int _myPrivateVar;

    public void aMethod() {
        super.aBarMethod();

        this._myPrivateVar++;
        super._motherVar -= 2;
    }

    public static String anotherMethod() {
        String outcome = "";

        for (String s : Foo._strings) {
            outcome += s;
        }

        return outcome;
    }
}
4

2 回答 2

1

你关心这个是一件非常好的事情。同时,每个程序员都对此感到不满。

我的一个观点是,虽然现代显示器有大量的像素,但你会认为这意味着程序员可以在屏幕上看到更多的代码。相反,它的意思似乎是代码充满了空白,以至于内容被推离了屏幕。通过减少阅读量,这使代码看起来更“可读” :)

我的另一点是,再多的可读性也无法让那些不了解概念的人理解代码。我认为程序员工作的一个重要部分是教育读者了解正在做的事情的基础知识。没有它,他们就不会“得到它”。这不好,因为他们很可能决定重新编写它(并破坏它)。

于 2015-02-26T19:27:24.207 回答
0

为了使您的代码看起来不错,您需要做的第一件事是制作正确的制表符和空格,以便代码以易于查看语句如何分组的方式对齐。其他一切,无论您将变量命名为“myVariable”还是“my_variable”,都只是您的偏好问题。注释尽可能多的代码行也是一个好习惯。当您在一段时间后返回代码时,这真的很有帮助。

于 2015-02-26T19:17:30.423 回答