Google Python Style Guide

2012-04-19 15:57:06 +08:00
 soulhacker
http://google-styleguide.googlecode.com/svn/trunk/pyguide.html
5644 次点击
所在节点    Python
16 条回复
ayanamist
2012-04-19 19:18:15 +08:00
禁用了所有Python的magic特性是亮点
lackrp
2012-04-19 21:28:43 +08:00
@ayanamist 什么是magic特性啊?望不吝赐教
tioover
2012-04-19 21:57:39 +08:00
@lackrp
@ayanamist
**kwargs & *args 算不算
gastlygem
2012-04-20 10:00:04 +08:00
@ayanamist 神马是 magic 特性?我只知道类的保留方法函数被称为 magic method,就是带双下划线,用来实现类的特殊功能的那种. 比如 __add__, __lt__。

参考:http://www.rafekettler.com/magicmethods.html

这个文档只是不让你使用长得像 magic method 的 method 名称,例如 __mymethod__ 之类,以防和真正的 magic method 混淆,影响代码可读性。

@lackrp

@tioover 不算。
bhuztez
2012-04-20 10:05:19 +08:00
@gastlygem magic method 相当于是协议,你需要用的时候还是逃不掉的。比如 pickle 就定义了好几个呢。
tioover
2012-04-20 10:05:57 +08:00
@gastlygem pylint说算,还扣分………
gastlygem
2012-04-20 10:25:58 +08:00
@bhuztez 那倒是。不过文档说的意思是不要用下面的方式给普通 method 命名,因为它们是被 Python 保留的。

__double_leading_and_trailing_underscore__ names (reserved by Python)

@tioover PyLint 就别提了吧,默认配置各种warning……
ayanamist
2012-04-20 10:30:01 +08:00
vicalloy
2012-04-20 10:31:25 +08:00
PyLint默认配置warning实在太多,没注释啥的都warning。
要用还真需要认真配置一番。
同事翻译了这文章的中文版
http://codinn.com/projects/google-python-style-guide/view/
gastlygem
2012-04-20 11:30:02 +08:00
@ayanamist 晕,不是没仔细看,而是没人把这些叫做“magic 特性”。
ayanamist
2012-04-20 11:31:55 +08:00
@gastlygem 那应该叫什么?
felinx
2012-04-20 11:34:49 +08:00
基本按照pep8来,除了个别写sql的超过80个字符。
gastlygem
2012-04-20 12:43:52 +08:00
@ayanamist 嗯,俺又想了想,这些花哨的高级功能其实叫 magic 可以,不过毕竟也没有一个约定俗成词专门来称呼,提到时还是加个解释比较好 :)
ayanamist
2012-04-20 12:45:42 +08:00
@gastlygem 不都是把Ruby里这些花里胡哨的东西称为magic么……
reus
2012-04-20 12:50:46 +08:00
@ayanamist ruby鼓励这种方式所以以magic褒之,python不鼓励所以也没人把这些叫magic
ayanamist
2012-04-20 14:16:42 +08:00
@reus dark magic也是magic嘛

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/32637

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX