第3章 代码风格

3.1 命名

  1. 符合语言特性
  2. 体现代码元素特征:

    Abstract xxx、 Basexxxx、xxException、xxxTest等;

    包名统一使用小写, 完整单词+点分隔符;

    枚举类成员全大写+下划线
  3. 望文生义
  4. POJO类布尔类型的变量:

    数据库使用is_xxxx,

    但是POJO类中属性为xxxx;

3.2 风格

  1. if 不要省略中括号;
  2. 没有必要增加若干空使变量赋值等号对齐(之前再oschina看到这样做, 感觉便于阅读, 但是浪费时间)
  3. 多层嵌套不能超过3层: 可使用卫语句, 策略模式, 状态模式等实现
  4. 避免反逻辑运算符: 反例 if(!(x >= 48))
  5. 条件表达式中不允许出现复杂逻辑组合: 可以将复杂逻辑赋值给布尔变量

3.4 注释

  1. 枚举类一定要有注释
  2. 不允许写在代码后面

码云地址: https://gitee.com/forxiaoming/JavaBaseCode/tree/master/EasyCoding

《码出高效 Java开发手册》第三章 代码风格的更多相关文章

  1. 《码出高效 Java开发手册》第二章 面向对象

    码云地址: https://gitee.com/forxiaoming/JavaBaseCode/tree/master/EasyCoding 第2章 面向对象 Object-Oriented Pro ...

  2. 《码出高效 Java开发手册》第一章计算机基础(未整理)

    码云地址: https://gitee.com/forxiaoming/JavaBaseCode/tree/master/EasyCoding

  3. 《码出高效 Java开发手册》第七章 并发与多线程

    码云: https://gitee.com/forxiaoming/JavaBaseCode/blob/master/EasyCoding/src/concurrency/multithreading ...

  4. 《码出高效 Java开发手册》第六章 数据结构与集合

    码云: https://gitee.com/forxiaoming/JavaBaseCode/blob/master/EasyCoding/src/collection/index.md 6.1 数据 ...

  5. 《码出高效 Java开发手册》第五章 异常与日志

    码云: https://gitee.com/forxiaoming/JavaBaseCode/blob/master/EasyCoding/src/exception/index.md 5.2 try ...

  6. 《码出高效 Java开发手册》第四章 走进JVM(未整理)

    码云地址: https://gitee.com/forxiaoming/JavaBaseCode/tree/master/EasyCoding

  7. 阿里巴巴 Java 开发手册(三): 代码格式

    1. [强制]大括号的使用约定.如果是大括号内为空,则简洁地写成{}即可,不需要换行:如果 是非空代码块则: 1) 左大括号前不换行. 2) 左大括号后换行. 3) 右大括号前换行. 4) 右大括号后 ...

  8. 2020阿里最新出品的泰山版Java开发手册,告别垃圾代码

    说起华山,我就想起岳不群,不,令狐冲:说起泰山,我就想起司马迁,他的那句名言"人总有一死,或重于泰山,或轻于鸿毛",真的发人深省啊.这就意味着,阿里出品的泰山版 Java 开发手册 ...

  9. 《码处高效:Java开发手册》之代码风格

    流水淡,碧天长,鸿雁成行.编码风格,简捷清爽,反引无限风光. 在美剧<硅谷>中有这样一个经典镜头,主人公 Richard 与同为开发工程师的女友闹分手,理由是两人对缩进方式有着截然不同的编 ...

随机推荐

  1. Python3.5 学习十一

    关于消息队列 PY 中应用程序里对于消息队列的使用: 1 threading QUEUE 2 进程QUEUE 父进程.父进程下的子进程间进行交互 RabbitMQ 消息队列 :用于应用程序之间,可跨平 ...

  2. 【文文殿下】【CF724C】Ray Tracing (中国剩余定理)

    题解 我们考虑将棋盘扩大一倍,这样相当于取膜.然后,我们只要对x,y,的位置分类讨论,做四次crt就行.具体细节看文文代码. #include<cstdio> #include<al ...

  3. Django(图书管理系统1)

    day63 内容回顾     1. 单表的增删改查         1. 删和改             1. GET请求 URL传值                 1. 格式            ...

  4. poj1122

    FDNY to the Rescue! Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 2917   Accepted: 89 ...

  5. 攻防组网之—-VMware路由器安装设置

    本文作者:i春秋作家——红发香克斯 前言 VMWare功能很强大,我一直有个想法是能不能用一台高配的主机利用VM虚拟化出一个或多个真实的子网,或者子网里面还有子网,其中使用VM自动的功能可以实现多个网 ...

  6. 使用python进行短信轰炸

    本文作者:i春秋作家——Hacker1ee 大家好,我是1ee(因为在作家群,就不加Hacker这个前缀了,怕被大佬打..) 刚加入i春秋作家组希望大家多多关照,也欢迎大家找我交流 今天我来讲讲我最近 ...

  7. tenda某路由器信息泄露查找

    本文作者:i春秋作家——icqb32d3a26 1: 前期准备: (1) 路由器固件 一般获取固件的方法有以下几种 官方网站根据对应版本下载(√),点击下载 在点击更新固件时抓取对应的更新固件链接 拆 ...

  8. jQuery核心函数的四种不同用法

    核心函数根据实参的不同,有四种不同的用法. ①传一个函数作为参数 例如:$(function(){}) 作用:和window.onload = function(){}类似,它会在文档加载完成之后运行 ...

  9. python3模块: sys

    一.简介 sys模块用于提供对python解释器的相关操作. 二.常用函数 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.modules 返回系统导入的模块字段,key是模块 ...

  10. 使用BeanUitls提高对象拷贝效率

    首先来创建两个bean 注:一定要有set/get方法,成员变量必须要同名 public class User1 { String name; String password; String phon ...