山柳村寡妇的情史
很多人认为重构浪费时间,影响项目进度,其实不然,重构不仅可以让我们的代码更加合理而且还可以加快我们的项目进度。这就好比现在盖一个高楼大厦,我们的架构和地基越好,那么建成的楼房就会越坚固和越牢靠。
重构就是通过调整程序代码,但并不改变程序的功能特征,达到改善软件的质量和性能的目的,使程序的设计模式和架构更趋合理,也更容易被理解,提高软件的扩展性和性。
比特币的出现,无疑是一项重要的发明,张首晟教授说的“区块链是一个非常美妙的设计,用了人类所有知识的精华”,这句话用在比特币身上恰如其分。
我们不否认比特币是一项伟大而有意义的发明,但不可忽视的是其原生代码的结构看起来相当混乱。造成这一现象的主要原因是由于代码从一开始就没有从整体上进行好好规划,随着时间的推移、需求的剧增,必须不断的修改原有的功能、追加新的功能才能维持整个系统的运转,还避免不了有一些缺陷需要修改。为了实现变更,就必须要违反最初的设计构架。
这样经过一段时间的修改以后,软件越来越难,新的需求越来越难实现,最初的代码构架对新的需求渐渐的失去支持能力。而且原生代码中很多功能的实现都是过程式的编程,根本就没有使用面向对象的思想去实现。这样不但是为添加新特性时增加了工作量,同时也让代码显得相当的冗余繁杂,耦合性强,基于其基础之上的二次开发代价也相对比较大。
面对比特币原生代码的这些种种不合,却一直没有团队站出来对其进行重构,所以,SBTC团队决定把比特币原生代码做重构优化,让其结构更为合理。也为后面社区添加一系列新特性做更好的准备。
1、用Web版钱包取代QT钱包2、用Cmake取代maketool作为编译管理工具3、用面向对象的思想,对代码中的各个模块进行分割4、去除大量满天飞的全局变量,对代码进行有效封装5、简洁灵活的程序框架6、程序参数解析改用boost:option7、模块之间的通讯用消息总线和直接调用相结合的模式
通过代码重构可以达到以下的目标 :1、改进软件设计 2、使代码更容易被理解 3、帮助发现隐藏的代码缺陷 4、提高编程效率,加快项目进度
重构完成之后,希望代码可以合并到比特币的主分支,为比特币社区的发展略尽绵薄之力,同时我们也希望BCH,Bitcore,接受我们的Pull Request,号召更多的技术大牛加入我们的行列中,为社区贡献一分力量。
网友评论 ()条 查看