返回介绍

项目专有的功能

发布于 2024-08-18 11:54:29 字数 1000 浏览 0 评论 0 收藏 0

在理想情况下,你所抽取出的子问题对项目一无所知。但是就算它们不是这样,也没有问题。分离子问题仍然可能创造奇迹。

下面是一个商业评论网站的例子。这段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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文