15/01/2008 数据类型

来源:互联网 发布:sql语句聚合函数 编辑:程序博客网 时间:2024/06/05 18:50

(一) Number in General


    1.一条经验:程序主体中仅能出现的文字量就是0和1.任何其他文字量都应该换成Named Constants来表示
     (0用于 for 0  to constant do;1用于total+=1)
    2.预防除零错误.(一般都会报错的,不过也很重要)
    3,使类型转换变得明显.(Java:Integer.prase(String); String.ValueOf(int))
    4.避免混合类型的比较(也就是不要把不同类型的数值进行比较)

(二)Integers


      1.检查整数除法(比如说:7/10,结果不是0.7,而是0)
      2.检查整数溢出(也就是说要检查数值范围)
      3.检查中间结果溢出(比如说:1000000*1000000/1000000,中间结果就溢出了)

(三)Floating-Point Numbers


     1.避免数量级相差太大的数之间的加减运算(比如:500000000.002-500000000.001可能结果是0.0,结果出错)
     2.避免等量判断(正确的做法是给出一个精度,只要两个数值在这个精度范围内,都可以算是相等)
     3.避免舍入误差(行之有效的做法是把浮点变量变成整数变量,比如0.001的话就乘上1000,让它变成整数来处理,处理后再除以1000).

(四)Characters and Strings


     1.避免off-by-one错误.(也就是末尾一位字符的处理问题)
      2.了解你的语言编码问题.(unicode,utf-8,big5.......)

(五).Boolean Variables


     1.用boolean变量来简化判断.(复杂的判断句可以用几个boolean变量来代替,这样可以判断这几个boolean值就能更直观.可读性,维护性更好.)
     2.很有用的几个boolean变量:done;error;success;found

(六)Enumerated Types


    1.定义出枚举的第一项和最后一顶,以便于循环,把第一个元素留下做非法值.
       例子:
          enum color{
              color_InvalidFirst=0;
              color_First=1;              color_Red=1;              color_Green=2;              color_Blue=4;              color_Black=8;
              color_Last=8;
             };
       2.自定义枚举类型
        例子:
         class country{
         private country(){}
         public static final country china=new country();
         public static final country England=new country();
         public static final country France=new country();
         public static final country Germany=new country();
         }
      (自定义枚举类型很有用,可以用country.china来访问代替全局变量.这个时候,我们掌握了两个代替全局变量的方法,当只有一个类用到这个变量时,我们可以用访问器子程序来访问,当有很多类要用到这个变量时,就可以用自定义枚举法来访问.)

(七)Named Constants


     无什么好记的

(八)Arrays


    1.要检查数组边界点.
  
(九)Create Your Own Types.




(帮主整理2008年1月15晚晚上23点54分)