返回介绍

按需重塑接口

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

程序中很多代码在那里只是为了支持其他代码——例如,为函数设置输入或者对输出做后期处理。这些“粘附”代码常常和程序的实际逻辑没有任何关系。这种传统的代码是抽取到独立函数的最好机会。

例如,假设你有一个Python字典,包含敏感的用户信息,如{"username":"……","password":"……"},你需要把这些信息放入一个URL中。因为它很敏感,所以你决定要对字典先加密,这会用到一个Cipher类。

但是Cipher期望的输入是字节串,不是字典。而且Cipher返回一个字节串,但我们需要的是对于URL安全的东西。Cipher还需要几个额外的参数,使用起来还有些麻烦。

开始以为很简单的任务变成了一大堆粘附代码:

尽管我们要解决的问题是把用户的信息编码成URL,这段代码的主体只是在“把Python对象编码成对URL友好的字符串”。把子问题抽取出来并不难:

然后得到的程序中执行“真正”逻辑的代码很简单:

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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