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."""    passdef 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 神设定的规则,因为一种与主流不同的审美倾向,值得发现它的同类。


©著作权归作者所有:来自51CTO博客作者mb5fdcaee2972df的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. Python是否支持复制字符串呢?
  2. 你真的知道Python的字符串怎么用吗?
  3. 从简单到复杂,一文带你搞懂滑动窗口在数组及字符串中的应用
  4. 你真的知道Python的字符串是什么吗?
  5. 详解Python拼接字符串的七种方式
  6. Python字符串必备速查表.pdf
  7. LeetCode 题解 | 1312. 让字符串成为回文串的最少插入次数
  8. 万字长文!动态规划的终极难题:字符匹配类
  9. 动画:BM 算法中的坏字符规则与好后缀规则

随机推荐

  1. android播放视频(三)利用原生的MediaPlayer
  2. [译]依赖反转在Android中的实践
  3. Could not find *.apk的解决办法
  4. android-Notification.Builder
  5. android编程环境搭建
  6. android基础知识15:获得android系统信息04
  7. GridView(网络视图)的基本使用
  8. Android 基础样式.xml
  9. 上下滚动条
  10. android的相对布局