zoukankan      html  css  js  c++  java
  • 编程军规 —— Java 篇

    提高代码的可读性,规避容易出现的错误。

    0. 共性

    • 对象或引用的非空性判断:
      • 强制类型转换时;
      • 函数返回时;
      • 函数的输入参数;
    • 任务执行的成功或失败判断
      • 文件打开;网络连接;数据库连接;
      • 内存申请;
      • 尤其对于 java 语言,使用反射机制时的,类不存在;
    • 连接要关闭,资源要释放;(通过编程语言的语法机制)
      • Python:with as
      • Java:try catch finally

    0. 变量

    • long 或者 Long 初始赋值时,使用大写的 L,不能用小写的 l;

    1. 类

    • 类名:
      • 抽象类以 Abstract 或 Base 大头;接口以 I 开头;
      • 异常类以 Exception 结尾;测试类以 Test 结尾;
    • 静态成员:
      • 避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接使用类名来访问即可;

    2. 集合

    • ArrayList 的 subList(fromIndex, toIndex) 的返回值不可强转为 ArrayList,否则会抛出 ClassCastException 异常,
      • subList 返回的是 ArrayList 的内部类 SubList,并不是 ArrayList ,而是
        ArrayList 的一个视图,对于 SubList 子列表的所有操作最终会反映到原列表上。
    • 同样,Arrays.asList()(数组转集合) 的返回对象也是 Arrays 的一个内部类;并没有实现集合的修改方法。Arrays.asList 体现的是适配器模式,只是转换接口,后台的数据仍是数组。

      String[] strArr = new String[]{"zhang", "chunhui"};
      List list = Arrays.asList(strArr);
      list.add("wang");       // 运行时异常;
      strArr[0] = "wang";     // list.get(0) ⇒ 也同样修改;

    3. 细节

    • 多行字符串表示 SQL 语句时,每行 SQL 语句的句前句后都加一个空格
      • 在 DAO 中编写 SQL 语句时,通常将 SQL 语句写在类的静态变量中(private static)中,以使代码变得更为可读;
      • 在编写多行 SQL 语句时,上下行最终会组成一行完整的 SQL 语句,如果在上一行的末尾和下一行的开始处均不加空格,将很容易出现错误:
    // 将会出现错误的代码
    private static String MATCH_COUNYT_SQL = "SELECT count(*) FROM" + 
        "t_user where user_name = ? and password = ?";
        // FROMt_user ⇒ 
    // 良好的代码,前后均保留空格;
    private static String MATCH_COUNYT_SQL = " SELECT count(*) FROM " + 
        " t_user where user_name = ? and password = ? ";
  • 相关阅读:
    【读书笔记】Expert Oracle Architecture (by Tom) (2)
    【读书笔记】Introducing ASP.NET
    【读书笔记】Expert Oracle Architecture (by Tom) (1)
    【原创】ASP.NET学习(3)
    【原创】XSL 学习(1)
    【原创】也谈“异步”响应
    【读书笔记】ASP.NET State Management
    基础算法之枚举
    基础算法之排序查找算法
    开放内网(转)
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9422467.html
Copyright © 2011-2022 走看看