找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 5107|回复: 0

《代码整洁之道》简单总结

[复制链接]
发表于 2012-4-16 22:55:58 | 显示全部楼层 |阅读模式
最近看了两本书《代码整洁之道》和《高效程序员的45个习惯敏捷开发修炼之道》的一些体会。
希望能和各位前辈交流一下。个人认为遵守一下几点就能写出不错的程序。
编码原则
1.让代码比你来的时候更干净,每次签入的代码都比签出的时候干净。
2.代码要清晰表达意图,用代码解释代码。
3.代码要有层次感。
4.类应该只有一个职责,一个修改原因,并与少数其他类一起协同达成期望的系统行为。
5.异常也是一件事情也是一个职责。
6.写解决日记。
7.警告就是错误,处理掉项目中的每一个警告。
8.提供有用的错误提示。
9.测试代码和普通代码一样重要。
10.别略过小测试。
11.项目管理者要及时的了解项目进度
12.不做超出需求的大设计,做自然简单的方案
编码规范
1.固定变量也要有意义
如 :
  1. if(state==4)
  2. 可以修改为
  3. int state_close=4
  4. if(state==state_close)
复制代码


2.不用单个字母作为变量名称
如 int i=0 改成 int length=0;
特别不能使用O l 这样的英文字母做完变量。
3.必要的前缀和不必要的前缀
Name可以改为 jobname,标明这个是工作的名称,而非用户名称
s_name这样的前缀是不必要的。谁都知道name是字符类型。
4.不要使用连串的函数
这是一个杯具
  1. new OrderInfo().Save().getid().toString();
复制代码


修改为

  1. int rowid=new OrderInfo().Save().getid()
  2. txt_id.txt=rowid.toString();
复制代码



5.异常处理不要打断正常逻辑,如果不处理这个异常就不要捕获他
以下是一个错误的例子
  1.                int orderid = 0;
  2.                 try
  3.                 {
  4.                     orderid = Convert.ToInt32(Request.Params["orderid"]);
  5.                 }
  6.                 catch {
  7.                
  8.                 }
  9.                 if (billingForm.Address == null)
  10.                 {
  11.                     billingForm.Address = Profile.AccountInfo;
  12.                 }
复制代码

6.隐藏您的数据,变量,无用的方法。

      
  1. private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable());
复制代码

减少公开的方法和变量。
7.函数表达行为
     
  1. public IList<ItemInfo> GetItemsByProduct(string productId) {
复制代码

让其他看函数就能知道你要做什么。

8.删除死代码,不要注释代码,因为我们有源码管理 9.也不要多余的注释
      
  1. int i=0;//自增
复制代码

这样的注释就是不必要的

10.不要传入bool作为参数

      
  1. protected void But_Save(object sender, EventArgs e) {
  2.             bool _Save = Request.Params["rowid"].ToString().Equals("-1");
  3.             Save(_Save);
  4.         }
  5.         protected void save()
  6.         {
  7.             if (_Save)
  8.             {
  9.                 //insert...
  10.             }
  11.             else
  12.             {
  13.                //update...
  14.             }
  15.         }
复制代码


修改为

     
  1.    protected void But_Save(object sender, EventArgs e) {
  2.             bool _Save = Request.Params["rowid"].ToString().Equals("-1");
  3.             if (_Save)
  4.             {
  5.                 insert();
  6.             }
  7.             else
  8.             {
  9.                 update();
  10.             }
  11.         }
  12.         protected void insert()
  13.         {
  14.         }
  15.         protected void update()
  16.         {
  17.         }
复制代码


11.源文件尽量用少的语言
作者:m13666368773 发表于2012-4-16 10:22:30 原文链接
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-4-17 00:56 , Processed in 0.013068 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表