clean code 之代码格式

我们应该保持良好的代码格式,选用一套管理代码格式的简单规则,然后贯彻这些规则

 

1,格式的目的

 

格式的目地在于沟通,所以代码格式很重要,且不可忽略

 

2,向报纸学习

 

我们看看写的很好的报纸是什么样的,首先,有个头条,告诉我们故事的主题,第一段是故事的大纲,接着读下去,细节读逐渐增加,直至了解所有的东西

 

源文件也要向报纸文章那样,名称简单一目了然,细节应往下一依次展开,直至找到源文件中最底层的函数和细节

 

3,概念间垂直方向的的区隔

 

在封包声明,导入声明和每个函数之间,都有空白行隔开,这条简单的规则将极大的影响到代码的视觉外观,每个空白行都是一条线索,表示出新的独立概念

 

//这里展现了空白行区的作用
package fitnesse wikitext,widgets;

inport java.util.regex.*;

  public class BoldWidgets extends ParentWidget {
    public static final String REGEXP = " '''. + ?''' ";
    private static final Pattern pattern = pattern.compile(" '''(.+?)''' ",
      pattern.MULTILINE + pattern.DOTALL
  );

  public BoldWidget (ParentWidget parent,String text) Throws Expection {
    super(parent);
    Matcher match = pattern.matcher(text);
    match.find();
    addChildWidgets(match.group(1));
  }
}//若抽掉那些空白行,代码的可读性将会减弱不少

其实,空白行区的作用还可以表示代码的关联——靠近的代码行暗示了它们的紧密的关系

 

4,变量的声明

 

a,变量的声明应尽可能的靠近其使用位置

b,概念相关的代码应该放在一起,相关性越强,彼此之间的距离就该越短

c,相关函数应放在一起

d,全局变量应该放在顶端

 

function add_item_to_transfer(inputs)
{
    var transfer = [];
    var item = loadAllItems();
    for(var i = 0; i < inputs.length; i ++)
    {
        compare_barcode(item,i,inputs,transfer);
    }
    return(transfer);
}
function compare_item_and_inputs_barcode(item,i,inputs,transfer)
{
    for(var j = 0; j < item.length; j ++)
    {
        compare_same_barcode(item,inputs,i,j,transfer);
    }
}

 

5,横向格式

 

一行代码应该有多宽?

 

我们应尽力保持代码行短小,随着显示器越来越宽,屏幕上甚至可以容纳200个字符,我们不必僵化的死守80个字符上线的规则,但再多并无好处,个人建议120个字符

 

6,对齐

 

空格字符:加强分隔效果,强调前面的运算符。

 

public class FitnesseExpediter implements ResponseSender
{
  private         Socket              socket;
  private         InputStream     input;
  protected     long                  requestParsingTimeLimit;
}//我们经常使用水平对齐来强调某些程序结构,但实际上,对齐,像是在强调某些不重要的东西,而把读者的目光从从真正的意义上拉开
//更麻烦的是,代码自动化格式工具会将这类对齐消除掉

  

 

而不对齐的的声明和赋值,其实恰恰指明了重点

 

7,缩进

 

for(vari=0;i<inputs.length;i++){for(varj=0;j<item.length;j++){if(inputs[i]=item[j].barcode){inputs[i].count=1}}}//没有缩进的话,程序会变的非常难以阅读

 

8,团队规则

 

每个程序员都有自己喜欢的代码规则,但如果在同一个团队中工作,就是团队说了算,我们想要让软件拥有一以贯之的风格,而不是让它显得是由一大票意见相左的个人写成,绝对不要用各种不同风格来编写源代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值