BAIC技术团队关于IOTA代码的一点感想

大家好,对于大家最为关心的BAIC何时上所,BAIC团队正在日以继夜地进行研发,一切消息均以官方发布为准。工作之余,我们的技术团队对IOTA代码进行了研究并进行了大量的讨论,经过筛选,现与大家分享一些感想,欢迎与我们交流讨论。同时BAIC技术团队会陆续发布一些关于代码的研究感想。敬请期待。


不足之处

1.代码可读性差,例如复杂的变量声明;将配置的参数一层一层的传下去后参数名称根据不同类、方法的而改变。不利于调试与参数作用的定位。


2.Iota 1.4.1.6版本中,ZMQ_ENABLED为false,目前官方参数说明没有提到这个参数,在Iota.java中实例化了MessageQ类,enabled为false时publisher、context为null,导致MessageQ类的shutdown方法从未被调用。

如果Iota.java中的shutdown()方法中增加调用messageQ.shutdown();,运行时多数会报空指针的错误。

3.内部声明了一些并未使用的变量、方法以及部分参数为常量,不利于调优。对很多希望逐行仔细阅读代码的人造成轻微的困扰

可圈可点

1.使用面向接口编程,增强了扩展性,但同时也带来随着模块代码的增长,导致代码的可读性和可调试性下降,接口的设计和实现需要在这之间进行平衡,不过这个度不好把握。个人观点是,对于业务系统,推荐尽量使用面向接口。但对于特定系统的基础架构,面向接口用力过度可能就会导致上面提到的问题。

2.支持加载额外的模块,iota启动后会在根目录生成一个空的ixi文件夹,加载模块从ixi文件夹内,但目前未到相关实例或开发手册。

BAIC社区|一个热衷于撒糖的公众号

长按,识别二维码,加关注