首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

代码整洁之道-它山之玉可以复建:身份证号码解析、验证工具(第一天)

2013-01-06 
代码整洁之道------它山之玉可以重构:身份证号码解析、验证工具(第一天)首先感谢原作者的代码: 《 面向对象

代码整洁之道------它山之玉可以重构:身份证号码解析、验证工具(第一天)
首先感谢原作者的代码: 《 面向对象的15位、18位中国大陆身份证号码解析、验证工具》. 如果有版权问题,敬请告知。

原代码给了我很好的起点,是的,这些代码都是玉,我在这只是再琢磨琢磨。
即使如此,重构的过程依然很繁琐,文章也许会很长,每一次的重构都需要把全部代码显示一遍。

知易行难, 重构是个动态过程, 不那么容易呈现出来,需要点耐心,慢慢看啊。

1 - 转化为C#代码,增加第一个测试

是的,这不是必须的,可以说是我自己的原因,不会Java。但是,你也可以看作是一种重构的场景,不是吗?

更改的代码就不再放了,比较简单,与C#和Java的区别有关,留个连接 SocialID.cs。可是,我的测试代码却很重要。可能很多人会诟病我的测试框架(Machine.Specification)和代码风格。前者,我想以后会多介绍MSpec和BDD让大家根熟悉,后者,只能是希望大家适应了。

==>写测试
第一个测试代码:当用正确的输入创建身份证时,应该能够得到正确的生日。

==>重构

原来,看似相同的语法Substring,第二个参数却有不同的含义。再经典不过的场景了,测试可以理顺这个过程。


==>第一个迭代结束,休息.

好了,阶段性的成果,一个测试/行为就可以标示为一个里程碑,今天就到这里了,你的支持,让我明天继续。

哦,少等. 最后一步,确实最重要的一步. 给我们客户(这中情况下,我的客户是其他开发人员,是的,高级程序员的客户就是其他中级,初级程序员,换一下思想吧)的测试/功能报告,如下:

代码整洁之道-它山之玉可以复建:身份证号码解析、验证工具(第一天)


代码整洁之道-它山之玉可以复建:身份证号码解析、验证工具(第一天)

7楼youjianbo9229昨天 02:21
不错不错
6楼qxe888昨天 02:20
厉害
5楼zhaoyan42前天 09:34
不错,期待后续
Re: hWonner昨天 15:46
回复zhaoyan42n谢谢
4楼Inhibitory前天 01:25
new SocialID("43010319801120753"); n不需要验证输入的合法性吗?
Re: hWonner前天 08:28
[quote=Inhibitory]new SocialID("43010319801120753"); n不需要验...[/quote]n 需要,见后续的重构.
3楼xieqi168000前天 19:34
我怎么看不出哪厉害.
2楼hWonner4天前 10:03
[quote=xieqi168000]我怎么看不出哪厉害.[/quote]n只能说, 道于深处,只是平常.
1楼hWonner4天前 09:24
[quote=qxe888]厉害[/quote]n[害羞]

热点排行