大概是这样的
- 最近被一个dalao怂恿去把我原来的机器人给重构了一波。把原来的一文件写到底的结构换成模块化实现。<s>别问我有什么好处,就是感觉这个工程代码看起来更加专业。</s>
- 这个过程也不是特别简单:
本身工程已经积累了一定的代码量
我其实是模块化编程的小白 233333
- 经过了重重困难,终于在本周重构完了机器人。
需要注意的地方
- 模块化编程最重要的地方就是模块与模块之间的依赖关系。尽量把程序的功能实现以文件为单位可以用树(森林?)的形式写出来而不要出现环。
一般情况下一个程序的最终面向用户的实现部分肯定会依赖比较多的其他的原有的模块。在这个时候,即使这个功能是归属于某个模块里的,也尽量把这个实现功能的代码剥离出来,另外存放以保证工程的结构的清晰性。
<s>在这个时候写数学证明题而养成的书写习惯就有用了23333</s>
<s>貌似依赖关系之间的结构和拓扑排序有关</s>
- 依赖关系尽量清晰。不要模模糊糊的,一个模块只能存和这个模块有关的内容,如果里面加入了一些其他奇奇怪怪的东西的话,到后面其实都很难搞清楚这些奇奇怪怪的东西到底归属哪一个模块。
<s>别问我怎么知道的。我这次重构其实还从原来的工程里面剥离出很多新的模块。</s> - 最后,还有一些强迫症的问题:如何起模块名
<s>我一幅见了鬼的样子.jpg</s>
我建模块名最后使用了的是 通用前缀_大模块(_小模块)
这样的命名方式。
最后再扯几句
- 其实,这样子模块化编程之后我觉得有一个好处就是:新(yan)增(ge)一个版本十分方便。 #滑稽