《代码整洁之道》简单总结
最近看了两本书《代码整洁之道》和《高效程序员的45个习惯敏捷开发修炼之道》的一些体会。
希望能和各位前辈交流一下。个人认为遵守一下几点就能写出不错的程序。
编码原则
1.让代码比你来的时候更干净,每次签入的代码都比签出的时候干净。
2.代码要清晰表达意图,用代码解释代码。
3.代码要有层次感。
4.类应该只有一个职责,一个修改原因,并与少数其他类一起协同达成期望的系统行为。
5.异常也是一件事情也是一个职责。
6.写解决日记。
7.警告就是错误,处理掉项目中的每一个警告。
8.提供有用的错误提示。
9.测试代码和普通代码一样重要。
10.别略过小测试。
11.项目管理者要及时的了解项目进度
12.不做超出需求的大设计,做自然简单的方案
编码规范
1.固定变量也要有意义
如 :
if(state==4)
可以修改为
int state_close=4
if(state==state_close)
2.不用单个字母作为变量名称
如 int i=0 改成 int length=0;
特别不能使用O l 这样的英文字母做完变量。
3.必要的前缀和不必要的前缀
Name可以改为 jobname,标明这个是工作的名称,而非用户名称
s_name这样的前缀是不必要的。谁都知道name是字符类型。
4.不要使用连串的函数
这是一个杯具
new OrderInfo().Save().getid().toString();
修改为
int rowid=new OrderInfo().Save().getid()
txt_id.txt=rowid.toString();
5.异常处理不要打断正常逻辑,如果不处理这个异常就不要捕获他
以下是一个错误的例子
int orderid = 0;
try
{
orderid = Convert.ToInt32(Request.Params["orderid"]);
}
catch {
}
if (billingForm.Address == null)
{
billingForm.Address = Profile.AccountInfo;
}
6.隐藏您的数据,变量,无用的方法。
private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable());
减少公开的方法和变量。
7.函数表达行为
public IList<ItemInfo> GetItemsByProduct(string productId) {
8.删除死代码,不要注释代码,因为我们有源码管理
9.也不要多余的注释
int i=0;//自增
这样的注释就是不必要的
10.不要传入bool作为参数
protected void But_Save(object sender, EventArgs e) {
bool _Save = Request.Params["rowid"].ToString().Equals("-1");
Save(_Save);
}
protected void save()
{
if (_Save)
{
//insert...
}
else
{
//update...
}
}
修改为
protected void But_Save(object sender, EventArgs e) {
bool _Save = Request.Params["rowid"].ToString().Equals("-1");
if (_Save)
{
insert();
}
else
{
update();
}
}
protected void insert()
{
}
protected void update()
{
}
11.源文件尽量用少的语言