【问题标题】:Resources for Java coding style?Java 编码风格的资源?
【发布时间】:2011-01-03 00:08:59
【问题描述】:

我发现阅读编码风格指南是了解一门语言及其特性的最佳方式。我一直在努力为 Java 找到一个好的文档,并立即得到一些问题的答案。

首先,很长的行的惯例是什么?用 Java 和 C/C++ 编写让我在这一点上有很多困惑。

其次,创建自定义异常类的准则是什么?我通常最终抛出一个现有的异常,而不是创建自己的异常。通常会强制执行自定义异常创建吗?

【问题讨论】:

    标签: java coding-style


    【解决方案1】:

    【讨论】:

    【解决方案2】:
    【解决方案3】:

    我将从 Sun/Oracle Java coding standards 开始。

    对于行的字符宽度没有 100% 的硬性标准。我会说介于 80-120 个字符之间。更大、更宽的屏幕会让我不那么担心这一点。

    我同意标准例外通常对我来说已经足够好了。我可能会为具有特殊业务意义的自定义异常子类,但这些子类很少而且相差甚远。我会说 Java 的最新风格是更喜欢未经检查的异常,更像是 C#。

    【讨论】:

    • 是的,确实如此。例外应该是例外。
    【解决方案4】:
    1. http://www.oracle.com/technetwork/java/codeconv-138413.html
    2. 换行至 80 - 110 个字符
    3. 扔现有的东西很棒。你应该只创建自定义,当 现有的异常并不完全 匹配例外情况( 通常是商业规则)

    作为编码约定的简要说明:

    class SomeClassName { //<-- Class with upper case, camel case
       public static final int CONSTANT_SOMETIHNG = 0x2A; // constants all upper case
       private int secretVariable; // variables start with lowercase
       public void someMethod() {  // methods too 
    
           // opening brace goes in the same line 
    
           if( cond ) { 
               ...
           } else { 
               ...
           }
           for( .. ) {
           }
           while( ... ) { 
           }
           try { 
           } catch() { 
           } finally {
           }
           // closing brace aligned to the element start 
    
        }
      }
    }
    

    等等。等等。

    【讨论】:

    • 4.不投掷可能——我认为“经常是”;-)——总比不投掷要好。
    【解决方案5】:

    Joshua Bloch 的“Effective Java”是一本重要的读物。它超出了 Oracle 提供的语法指南。

    第 60 项是“支持使用标准异常”,但第 61 项是“抛出适合抽象的异常”。有时会调用自定义异常,有时则不会。

    【讨论】:

      【解决方案6】:

      可能重复的问题。你可以在这里找到答案:https://stackoverflow.com/questions/1334204/official-java-code-guidelines-conventions

      但是,Sun/Oracle 网站上的文档已超过 12 年。虽然核心语言没有改变,但技术变化很快,这意味着我们使用该技术的方式发生了变化。

      我建议使用最适合您和您的团队的方法。只要您的组织内有一些被认为是主流的公认标准,您应该没问题。

      【讨论】:

        【解决方案7】:
        1. 当人们使用 80 个字符宽的文本编辑器时,行长曾经是一个更大的问题。如今,大多数开发人员都拥有高分辨率的宽屏幕,因此在 Java 中以 80 个字符换行可能实际上是一种损害,如果它迫使其他人向下滚动更多并在右侧有空格。记下谁可能正在查看您编写的代码并将其包装成适当的长度。

        2. 我对自定义异常类的看法是尽可能使用已经存在的任何东西。但是,有时您需要一个不存在的异常类,因此如果有意义,请不要犹豫创建一个。

        【讨论】:

        • 长行的主要问题是当您需要打印它们时。如果使用的打印软件自动换行长行,这没什么大不了的,但如果行在随机位置换行并且没有缩进,则可能会损害可读性。
        • 这是真的,但我需要打印代码已经好几年了。我们的团队以电子方式进行代码审查。如果这张海报也是如此,那么印刷就不是一个大因素。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-11-18
        • 1970-01-01
        • 2019-10-12
        • 1970-01-01
        • 2010-10-18
        • 2016-03-21
        • 1970-01-01
        相关资源
        最近更新 更多