文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
项目专有的功能
在理想情况下,你所抽取出的子问题对项目一无所知。但是就算它们不是这样,也没有问题。分离子问题仍然可能创造奇迹。
下面是一个商业评论网站的例子。这段Python代码创建一个新的Business对象并设置它的name、url和date_created:
url应该是一个“干净”版本的name。例如,如果name是"A.C.Joe's Tire&Smog,Inc.",url就是"/biz/ac-joes-tire-smog-inc"。
这段代码中的不相关子问题是“把名字转换成一个有效的URL”。这段代码很容易抽取。同时,我们还可以预先编译正则表达式(并给它们以可读的名字):
现在,原来的代码可以有更“常规”的外观了:
读这段代码所花的工夫要小得多,因为你不会被正则表达式和深层的字符串操作分散精力。
你应该把make_rul_friendly()的代码放在哪里呢?那看上去是相当通用的一个函数,因此把它放到一个单独的util/目录中是合理的。另一方面,这些正则表达式是按照美国商业名称的思路设计的,所以可能这段代码应该留在原来文件中。这实际上并不重要,以后你可以很容易地把这个定义移到另一个地方。更重要的是make_url_friendly()完全被抽取出来。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论