模块设计要点
做了几年的开发,总体来说,设计模块时,有些通用的注意点,还是可以总结下来,以供后用。
- 模块的功能要明确,不明确的功能,要么不做,要么捋清需求
- 模块的功能分层/解耦要清晰,方便测试。一个很简单的方法,就是通过测试的方式来看待接口(TDD),这样的话,为了满足测试,接口自然就分层清晰了,也就是所谓的可测性
- 考虑可扩展性,虽然多数时候是:make it run,然后才是make it riun fast。但是好的框架,对于后续扩展的工作,会带来极大的便利,这在模块设计的早期阶段,值得花时间去思考
- 极限值测试,考虑没有值、最大值、最小值的测试,最频繁的运行条件,也就是高并发,尤其是高并发时的耗时等,这是提升模块质量的一个核心
- 阈值可动态配置,方便调试,例如某些初始参数,某些运行参数,可以通过配置文件等形式来传值
- 日志level可调,方便debug
- 稳定性测试,建议学些脚本语言,让脚本长时间运行,自动测试会省去不少麻烦
- 特殊场景,这点很难,一个功能跑通了,往往大家做出来都差不多,但是如果起重工一个人做出来的功能,考虑了对多种异常场景的考虑,其健壮性不言而喻