zoukankan      html  css  js  c++  java
  • 《编写高质量代码》读书笔记一

    《编写高质量代码》读书笔记一
    这些建议,我们读过之后,觉得很有必要来分享一下,希望可以帮到你。
    少读书,多思考,提高对程序本身的认识。
    建议 1: 不要在常量和变量中出现容易混淆的字母
    public class Client {
        public static void main(String[] args)} {
            long i = 1l;
            System.out.println("Double i is: " + (i+i));
        }
    }

    实际结果:2
    --------------------------------------
    注意:字母“l”作为长整型标志时务必大写。
    --------------------------------------

    建议 2: 莫让常量蜕变成变量
    public class Client {
        public void mani (String[] args) {
            System.out.println("Const is: " + Const.RAND_CONST);
        }
    }

    interface Const {
        public static final int RAND_CONST = new Random().nextInt();
    }

    --------------------------------------
    注意:务必让常量的值在运行期保持不变。
    --------------------------------------


    建议 3: 三元操作符的类型必一致
    public class Client {
        int i = 80;
        String s = String.valueOf(i<100?90:100);
        String s1 = String.valueOf(i<100?90:100.0);
        System.out.println("Both equal: "+s.equals(s1));
    }

    实际结果:false
    String s1 = String.valueOf(i<100?90:100.0);// 100.0是浮点型

    建议 4: 避免带有变长参数的方法重载
    public class Client {
        //Method 1
        public void calPrice(int price, int discount) {
            //TODO
        }
        //Method 2
        public void calPrice(int price, int... discounts) {
            //TODO
        }
        public static void main(String[] args) {
            Client client = new Client();
            client.calPrice(49900, 75);
        }
    }

    哪个方法会被call? 为什么?
    来问我啊,哈哈哈哈

    建议 5: 别让null值和空值威胁到变长方法
    public class Client {
        
    }

    建议 6: 覆写变长方法也循规蹈矩

    建议 7: 警惕自增的陷阱

    建议 8: 不要让旧语法困扰你

    建议 9: 少用静态导入

    建议 10: 不要在本类中覆盖静态导入的变量和方法

    建议 11: 养成良好习惯,显式声明UID

    建议 12: 避免用序列化类在构造函数中为不变量赋值

    建议 13: 避免为final变量复杂赋值

    建议 14: 使用序列化类的私有方法巧妙解决部分属性持久化问题

    建议 15: break万万不可忘

    建议 16: 易变业务使用脚本语言编写

    建议 17: 慎用动态编译

    建议 18: 避免instanceof非预期结果

    建议 19: 断言绝对不是鸡肋

    建议 20: 不要只替换一个类

  • 相关阅读:
    No resource found that matches the given name 'Theme.AppCompat.Light' 的完美解决方案
    Data Flow ->> Fuzzy Lookup & Fuzzy Grouping
    SSIS ->> Script Debugging and Troubleshooting
    Data Flow ->> Script Component
    SSIS ->> Logging
    SSIS ->> Event Handler
    SSIS ->> Script Task
    Data Flow ->> Look up & Merge Join
    SSIS ->> 生成时间格式
    SSIS ->> Null & Null Functions
  • 原文地址:https://www.cnblogs.com/baoguo/p/5225655.html
Copyright © 2011-2022 走看看