1.方法只使用一级缩进
2.拒绝使用else关键字
3.封装所有的原生类型和字符串
4.一行代码只使用一个“.”运算符
5.不要使用缩写
6.保持实体对象简单清晰
7.任何类中的实体变量都不要超过两个
8.使用一流的集合
9.不使用任何Getter/Setter/Property
这九项原则吓了我一跳,原来我以前写的软件都是垃圾,这里面却是有很多东西让我很难理解,不过看了使用方式后又觉得有点道理,所以收藏一下。
看看方法只使用一级缩进的原则:
代码
class
Board{
....
String board(){
StringBuffer buf = new StringBuffer();
for ( int i = 0 ;i < 10 ;i ++ ){
for ( int j = 0 ;j < 10 ;j ++ )
buf.append(data[i][j]);
}
return buf.toString();
}
}
....
String board(){
StringBuffer buf = new StringBuffer();
for ( int i = 0 ;i < 10 ;i ++ ){
for ( int j = 0 ;j < 10 ;j ++ )
buf.append(data[i][j]);
}
return buf.toString();
}
}
改为
代码
Class Board{
...
String board(){
StringBuffer buf = new StringBuffer();
collectRows(buf);
Return buf.toString();
}
void collectRows(StringBuffer buf ){
for ( int i = 0 ;i < 10 ;i ++ )
collectRow(buf,i);
}
void collectRow(StringBuffer buf, int row){
for ( int i = 0 ;i < 10 ;i ++ )
buf.append(data[row][i]);
buf.append( " \n " );
}
...
String board(){
StringBuffer buf = new StringBuffer();
collectRows(buf);
Return buf.toString();
}
void collectRows(StringBuffer buf ){
for ( int i = 0 ;i < 10 ;i ++ )
collectRow(buf,i);
}
void collectRow(StringBuffer buf, int row){
for ( int i = 0 ;i < 10 ;i ++ )
buf.append(data[row][i]);
buf.append( " \n " );
}
再来看看拒绝使用else关键字原则
public
static
void
endMe(){
if (status == DONE)
dosomething();
else
< other >
}
if (status == DONE)
dosomething();
else
< other >
}
改为
public
static
void
endMe(){
if (status == DONE){
dosomething();
return ();
}
< other >
}
if (status == DONE){
dosomething();
return ();
}
< other >
}