大名鼎鼎的Requests库用了什么编码风格?

栏目: Python · 发布时间: 5年前

内容简介:原文:作者:Kenneth Reitz

大名鼎鼎的Requests库用了什么编码风格?

原文: https://www.kennethreitz.org/...

作者:Kenneth Reitz

原题:Kenneth Reitz’s Code Style™

Requests 的代码库使用 PEP-8 编码风格。

除了 PEP-8 中列出的标准外,我们还有一些指导原则:

  • 如果方便的话,行长(Line-length)可超过 79 个字符,达到 100 个字符。
  • 如果换行会导致严重的不方便,则行长可以超过 100 个字符。
  • 除非在字符串中出现单引号,否则始终使用单引号字符串(例如,'#flatearth')。

此外,PEP-8 推荐的用于连续行的编码风格毫无一点品味,绝不允许在 Requests 代码库使用:

# 与开局定界符对齐
foo = long_function_name(var_one, var_two,
                         var_three, var_four)

No。千万别。请。

文档字符串(docstrings)应遵循以下语法:

def the_earth_is_flat():
    """NASA divided up the seas into thirty-three degrees."""
    pass

def fibonacci_spiral_tool():
    """With my feet upon the ground I lose myself / between the sounds
    and open wide to suck it in. / I feel it move across my skin. / I'm
    reaching up and reaching out. / I'm reaching for the random or
    whatever will bewilder me. / Whatever will bewilder me. / And
    following our will and wind we may just go where no one's been. /
    We'll ride the spiral to the end and may just go where no one's
    been.

    Spiral out. Keep going...
    """
    pass

所有函数、方法和类都要求包含 docstrings 。除了对象数据模型方法(例如, __repr__ ),这些是此规则的例外。

Thanks for helping to make the world a better place!

资料来源(译注:即 Requests 的开发者指南): http://t.cn/E5VgNJF

(译文完)

K 神的这篇文章很短,实际上,这只是摘自 Requests 的开发者指南的一小部分。

但是,关于灵活设定行长的部分,我举双手双脚赞同。如果你所在的公司有“清白盒”的优良传统(不仅指Python),那你极有可能遇到被迫换行的麻烦,而实际上才仅仅刚刚超出了几个字符。那时候,你就会明白,这 3 条灵活规则的好处了。

另外,关于连续行的部分,PEP-8 相关内容在: http://t.cn/Rq4mxOo

PEP-8 反对的是如下写法:

# Arguments on first line forbidden when not using vertical alignment.
# 不使用垂直对齐的参数禁止在第一行上
foo = long_function_name(var_one, var_two,
    var_three, var_four)

PEP-8 推荐的写法是垂直地将换行的参数对齐起始的参数:

# 与开局定界符对齐
foo = long_function_name(var_one, var_two,
                         var_three, var_four)

K 神反对了 PEP-8 推荐的写法。在我看来,任何有品味的人,都会反对以上的两种写法。

即使一个方法的参数超级多,超出了 100 个字符,我本人也是极不情愿换行的。所以,K 神的说法深得我心。

关于代码风格,没有绝对完全一致的标准。本文也不想引起争论。不过,我认同 K 神设定的规则,因为一种与主流不同的审美倾向,值得发现它的同类。

-----------------

本文原创并首发于微信公众号【Python猫】,后台回复“爱学习”,免费获得20+本精选电子书。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

爆品手记

爆品手记

金错刀 / 中国友谊出版公司 / 2016-9-20 / 39.80

互联网时代,一切都被颠覆。 B2B、B2C、O2O等商业模式的建立,对传统企业构成了巨大冲击。人们的生意往来逐渐从线下转移到了线上,传统的定位理论逐渐失效,依靠爆品引爆市场才是王道;传统企业经营多年的渠道营销模式正遭遇前所未有的阻力,网上商城正成为众多商家角逐血拼的主要战场。 在互联网的黑暗森林里,一切传统的商业模式统统失效,一场依靠爆品点燃市场、引爆市场、占据市场的营销革命正悄然兴起......一起来看看 《爆品手记》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具