zoukankan      html  css  js  c++  java
  • 代码规范(七)

    7 编程技巧
    7.1 一般性原则
    7.1.1 检查所有参数输入的有效性。
    7.1.2 检查参数输入
    检查所有非参数输入的有效性,如数据文件、公共变量等。

    说明:输入主要有两种:一种是参数输入;另一种是全局变量、数据文件的输入,即非参数输入。在使用输入之前,应进行必要的检查。

    7.1.3 类名应准确描述类的功能。
    7.1.4 避免强制返回值类型
    除非必要,最好不要把与返回值类型不同的变量,以编译系统默认的转换方式或强制的转换方式作为返回值返回。

    7.1.5 让调用点显得易懂、容易理解。
    7.1.6 减少数据类型转换
    在填写参数时,应尽量减少没有必要的默认数据类型转换或强制数据类型转换。

    说明:因为数据类型转换或多或少存在危险。

    7.1.7 防止程序中的垃圾代码。
    说明:程序中的垃圾代码不仅占用额外的空间,而且还常常影响程序的功能与性能,很可能给程序的测试、维护等造成不必要的麻烦。

    7.1.8 减少递归调用。
    说明:递归调用影响程序的可理解性;递归调用一般都占用较多的系统资源(如栈空间);递归调用对程序的测试有一定影响。故除非为某些算法或功能的实现方便,应减少没必要的递归调用。

    7.1.9 使用数据流图
    仔细分析模块的功能及性能需求,并进一步细分,同时若有必要画出有关数据流图。

    说明:根据模块的功能图或/及数据流图映射出结构是常用方法之一。

    7.1.10 避免使用BOOL参数。
    说明:原因有二,其一是BOOL参数值无意义,TURE/FALSE的含义是非常模糊的,在调用时很难知道该参数到底传达的是什么意思;其二是BOOL参数值不利于扩充。还有NULL也是一个无意义的单词。

    7.2 开发过程中的技巧
    7.2.1 byte 数组转换到 characters
    为了将 byte 数组转换到 characters,你可以这么做:

    "Hello world!".getBytes();

    7.2.2 Utility 类
    Utility 类(仅仅提供方法的类)应该被申明为抽象的来防止被继承或被初始化。

    7.2.3 初始化数组
    下面的代码是一种很好的初始化数组的方法:

    objectArguments = new Object[] { arguments };

    7.2.4 枚举类型
    JAVA 对枚举的支持不好,但是下面的代码是一种很有用的模板:

    复制代码
    1 class Colour {
    2     public static final Colour BLACK = new Colour(0, 0, 0);
    3     public static final Colour RED = new Colour(0xFF, 0, 0);
    4     public static final Colour GREEN = new Colour(0, 0xFF, 0);
    5     public static final Colour BLUE = new Colour(0, 0, 0xFF);
    6     public static final Colour WHITE = new Colour(0xFF, 0xFF, 0xFF); 
    7 }
    复制代码

    这种技术实现了RED, GREEN, BLUE 等可以象其他语言的枚举类型一样使用的常量。 他们可以用 == 操作符来比较。
    但是这样使用有一个缺陷:如果一个用户用这样的方法来创建颜色 BLACK

    new Colour(0,0,0) ,那么这就是另外一个对象。==操作符就会产生错误。她的 equal() 方法仍然有效。由于这个原因,这个技术的缺陷最好注明在文档中,或者只在自己的包中使用。

  • 相关阅读:
    Activity 横竖屏生命周期
    gradle wrapper, gradle ,gradle plugin 之间的关系
    《构建之法》第八、九章学习总结
    《构建之法》第六、七章学习总结
    《构建之法》第三、四、五章学习总结
    《构建之法》第一、二章学习总结
    SQL练习50题(基于MySQL)后25题
    SQL练习50题(基于MySQL)前25题
    轮播2-css
    轮播1-animate-匀速
  • 原文地址:https://www.cnblogs.com/9635741zly/p/14916495.html
Copyright © 2011-2022 走看看