zoukankan      html  css  js  c++  java
  • Java开发规范摘录

    对于规范的 JAVA 派生类,尽量用 eclipse工具来生成文件格式,避免用手写的头文件/实现文件。

    尽量避免一行的长度超过 200 个字符,因为很多终端和工具不能很好处理之。
    缩进8格

    ,import 中标准的包名要在本地的包名之前,而且按照字母顺序排列。

    如果 import 行中包含了同一个包中的不同子目录,则应该用 * 来处理。

    对于构造函数,它应该用递增的方式写,即将参数多的构造方法写在后面

    /*-
    单行注释之前应该有一个空行。
    //然而,它可以用来注释掉连续多行的代码段。

    /**
     * 声明:? 2013-2014 版权所有
    * Official Website: http://www.****.com
    * Copyright: ? 2013 ********** All Rights Reserved.
    * @version: 1.0
    * @author: Architect.bian
    * Create at: 2013-7-28 下午4:47:30
    */

    /*
    * 类的描述信息
    * @author
    */
    public class String{

    }


    2.专有常量类里的常量全部使用小写,方便阅读及配置

    数组应该总是用下面的方式来定义:byte[] buffer

    即对于一些集合的遍历来说尽量使用增强的for循环而不是借助一些变量(i)。

    推荐一行一个声明,因为这样以利于写注释。亦即,

    尽量在声明局部变量的同时初始化。唯一不这么做的理由是变量的初始值依赖于某些先前发生的计算。

    if (condition) {
    statements;
    } else if (condition) {
    statements;
    } else{
    statements;
    }

    if不省略{}

    for (initialization; condition; update);

    1.若没有足够理由,不要把实例或类变量声明为公有。通常,实例变量无需显式的设置 (set) 和获取
    (get) ,通常这作为方法调用的边缘效应 (side effect) 而产生。
    2.一个具有公有实例变量的恰当例子,是类仅作为数据结构,没有行为。亦即,若你要使用一个结构
    (struct) 而非一个类 ( 如果 java 支持结构的话 ) ,那么把类的实例变量声明为公有是合适的。

    classMethod(); //正确
    AClass.classMethod(); //正确
    anObject.classMethod(); //错误!

    8.3 常量¶
    位于 for 循环中作为计数器值的数字常量,除了 -1,0 和 1 之外,不应被直接写入代码。

    不要使用内嵌 (embedded) 赋值运算符试图提高运行时的效率,这是编译器的工作。

    设法让你的程序结构符合目的。例如:


    if (booleanExpression) {
    return true;
    } else {
    return false;
    }

    应该代之以如下方法:
    return booleanExpression;
    类似地:
    if (condition) {
    return x;
    }
    return y;

    应该写做:
    return (condition ? x : y);

    1.for循环嵌套不宜太多,最多三层,否则容易造成代码混乱,不容易阅读,而且还容易出现意想不到的bug

    2.对于大量的字符串操作使用StringBuilder代替String,以提高效率;若要求线程安全的话,则使用
    StringBuffer;
    3.对于List的操作,如果有大量的更新操作,则使用LinkedList;如果更新操作较少,大部分是查询操作的
    话,则使用ArrayList;
    4.每个方法的行数不宜太多,否则很有可能使方法的设计不合理,应该考虑进行重构;
    5.如果有大量的if语句出现,则尝试使用switch语句来代替;
    6.在一个特定的作用域内,若一个对象必须清除(非由垃圾收集机制处理),请采用下述方法:初始化对象
    ;若成功,则立即进入一个含有finally从句的try块,开始清除工作;

  • 相关阅读:
    HDOj-1412
    HDOJ-2153
    HDOJ-1002
    紫书 例题 11-5 UVa 10048 (Floyd求最大权值最小的路径)
    紫书 例题11-4 UVa247 (Floyd判断联通)
    最短路模板
    紫书 例题 11-3 UVa 1151 (有边集的最小生成树+二进制枚举子集)
    紫书 例题 11-2 UVa 1395(最大边减最小边最小的生成树)
    紫书 例题 11-1 UVa 12219 (表达式树)
    紫书 习题 8-25 UVa 11175 (结论证明)(配图)
  • 原文地址:https://www.cnblogs.com/liuxiaoke/p/4214758.html
Copyright © 2011-2022 走看看