《极限编程实施》作者Ron Jeffries 仔细研究了贝克的简单代码规则,并依其重要顺序分别列为:& 能通过所有测试& 没有重复代码& 体现系统中的全部涉及理念& 包括尽量少的实体,比如类、方法、函数等能通过所有测试这一点,后文中在架构设计方面详细说明,这里我们还是借助一个小的例子说明“没有重复代码”的一些技巧。曾经有一次我将多份不同的程序代码用A4纸打印出来,平摊到我的床上对照时,还在上小学的女儿在旁边说道:爸比,你每天就是看这几只毛毛虫爬来爬去吗?always、if、else,begin,对了,还有end,大概就是这几只。小孩子幼稚的话语引得我哈哈大笑,当我回头看向这些代码时,突然记起一位大师说过的话:大部分程序都是由极为相似的元素构成。诚哉斯言!同时,由于这种相似性,许多程序中出现了重复的代码。我们来看一下下面这组代码:12345678910111213141516171819 assign data0 = {1'b1,din0,1'b0};assign data1 = {1'b1,din1,1'b0};assign data2 = {1'b1,din2,1'b0}; always @(posedge clk or negedge rst_n)begin if(rst_n==1'b0)begin dout <= 0 ; end else if(sel0)begin dout <= data0[9-cnt2]; end else if(sel1)begin dout <= data1[9-cnt2]; end else begin dout <= data2[9-cnt2]; endend
一周热门 更多>