文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
用方法来整理不规则的东西
假设你有一个个人数据库,它提供了下面这个函数:
并且这个函数由一系列的例子来测试:
这段代码没什么美感可言。有些行长得都换行了。这段代码的剪影很难看,也没有什么一致的风格。
但对于这种情况,重新布置换行也仅能做到如此。更大的问题是这里有很多重复的串,例如"assert(ExpandFullName(database_connection……",其中还有很多的"error"。要是真的想改进这段代码,需要一个辅助方法。就像这样:
现在,很明显这里有4个测试,每个使用了不同的参数。尽管所有的“脏活”都放在CheckFullName()中,但是这个函数也没那么差:
尽管我们的目的仅仅是让代码更有美感,但这个改动同时有几个附带的效果:
·它消除了原来代码中大量的重复,让代码变得更紧凑。
·每个测试用例重要的部分(名字和错误字符串)现在都变得很直白。以前,这些字符串是混杂在像database_connection和error这样的标识之间的,这使得一眼看全这段代码变得很难。
·现在添加新测试应当更简单
这个故事想要传达的寓意是使代码“看上去漂亮”通常会带来不限于表面层次的改进,它可能会帮你把代码的结构做得更好。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论