@DevWiki
2015-07-02T21:10:45.000000Z
字数 1671
阅读 1194
CleanCode
更多内容详见:CleanCode笔记
我本人算是一个有洁癖的程序猿,喜欢代码整齐的格式.
让代码能工作不是编程的头等大事,因为代码首先是给人看的,其次才是给计算机看的.
代码是团队沟通的桥梁,乱糟糟的代码是没有人想看的.
一个Java类文件应该有多长?这是个问题.有人可能说100行,有人可能说1000行.
但是人们倾向于短的代码文件,所以一个类文件应该越短越好,尽量不要超过1000行.
代码排版应该像报纸一样.从上往下读,在顶部应该有个类似标题一样的东西,告诉读者大致内容是什么,再往下是章节,告诉读者代码有哪些部分组成,章节下面是细节,如果读者感兴趣可以了解这部分实现的细节.
比如:
private Button backButton;
private TextView titleView;
private Button settingButton;
private void init(){
initUtil();
initUI();
initData();
}
private void initUtil(){
//...
}
private void initUI(){
initNavigationView();
initContentView();
}
private void initNavigationView(){
backButton = (Button) findViewById(R.id.btn_back);
backButton.setOnClickListener(this);
titleView = (TextView) findViewById(R.id.tv_title);
settingButton = (Button) findViewById(R.id.btn_setting);
settingButton.setOnClickListener(this);
}
private void initNavigationView(){
//....
}
private void initContentView(){
//...
}
private void initData(){
//...
};
几乎所有的代码都是从上往下读,从左往右读.每行展现一个表达式或者一个字句或者一个方法调用,每组代码行展示一条完整的思路.这些思路都是用空白行分隔开来.
就像上面的initUI()方法:
private void initUI(){
initNavigationView();
initContentView();
}
空白行让我们很容易明白初始化界面的步骤:
1. 初始化导航栏组件
2. 初始化内容视图
从上面的代码可以看出,关系密切的方法应该靠近;关系不密切的要分隔开来.这样很容易理解系统要做什么,怎么去做,不需要你去记住查找和记住代码碎片在哪里.
如何做到靠近与分隔呢?
1. 方法内的局部变量声明放在方法的顶部.
2. 对象变量的声明放在类的顶部.
3. 相关的函数应靠近放置.
4. 概念相近的代码应该放在一起.
一般而言,我们都想自上而下展示函数的依赖调用.也就是说被调用的函数在执行函数的下面.
一般而言,一行代码不应多于100个字符.
赋值语句的等号左右空一格,可以起到强调的作用.
多参方法中,参数的逗号后空一格,表明参数的独立性.
所以水平方向上也应遵循关系密切的靠近,关系交远的分隔.
不需要水平方向上的有意识的对齐,比如下面:
private Button backButton;
private TextView titleView;
private Button settingButton;
如果出现名称更长的类型,所有的变量又得重新对齐.所以不推荐此种方式.
缩进表明的代码的影响范围!
缩进有利于代码的阅读,明确代码之间的等级关系和影响范围.
切记:单行也要缩进.不要违反缩进规则.
每个人都有不同的写代码的风格,个人建议按照Google的Java代码风格来编写代码.详情请点击此处查看:
Google Java编程风格