让我非常惊讶的迈向优秀软件设计的九项原则
1.方法只使用一级缩进
2.拒绝使用else关键字
3.封装所有的原生类型和字符串
4.一行代码只使用一个“.”运算符
5.不要使用缩写
6.保持实体对象简单清晰
7.任何类中的实体变量都不要超过两个
8.使用一流的集合
9.不使用任何Getter/Setter/Property
这九项原则吓了我一跳,原来我以前写的软件都是垃圾,这里面却是有很多东西让我很难理解,不过看了使用方式后又觉得有点道理,所以收藏一下。
看看方法只使用一级缩进的原则:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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();
}
}
改为
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
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>
}
posted on 2010-01-09 22:17 lonelybyte 阅读(200) 评论(0) 编辑 收藏 举报