java - 使用静态语言编码时的样式指南

标签 java c# oop static-language

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

当我编写代码时,我喜欢使其易于阅读。在我看来,阅读代码应该像阅读一本书一样。它应该是流畅和优雅的。然后,即使我不需要使用它们,我也喜欢在前面加上 this , superbase尽可能使用关键字。当我想使用常量或静态变量/方法时,当前类名也是如此。

因此,另一个开发人员可以很快获得成功。他知道这个方法或变量在当前类或母类中,而不需要移动到声明。您可能会对我说,使用最新的 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;
    }
}

最佳答案

你关心这个真是太好了。 与此同时,每个程序员都对此有提示。

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

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

关于java - 使用静态语言编码时的样式指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28750579/

相关文章:

PHP 面向对象编程 : Creating database class

java - 上传文件到数据库查毒

java - 如何发送带有大附件的电子邮件? (内存不足错误: java heap space)

java - 可以将 java.lang.Class 对象与 Java 中的 == 进行比较吗?

C# 循环遍历 float 的​​正确方法

c# - 如何在查询 LINQ 中表达 IN(参数列表)?

c# - 为什么我会选择 512 以外的 C# 编译器文件对齐设置?

java - 方法重载的基本概念是什么

java - 无法在SpringRunner中创建环境bean

java - Java 中类的行