PEP8 给我弄糊涂了,究竟怎么写代码才是正确的姿势?

2016-08-02 09:05:13 +08:00
 ecloud
Sublime 里装了 Anaconda ,内建了 PEP8
发个 HTTP 的 POST ,有 url , headers, parms
其实也不是很长但是刚好超过了 80 列的宽度,主要是前面的缩进占了不少
然后 PEP8 就提示我一行太长了
我给它分行,又提示我 the backslash is redundant between brackets
WQNMLGBD ,究竟怎么写才是正确的姿势?
16971 次点击
所在节点    Python
24 条回复
Yc1992
2016-08-02 09:11:20 +08:00
不是有快捷键自动格式化么,不过我用 yapf
ecloud
2016-08-02 09:12:09 +08:00
好吧,弄明白了,不用\断行它就没毛病了
不过又有新问题,下一行,无论我缩进还是不缩进,都提示
continuation line under-indented for visul indent
ecloud
2016-08-02 09:14:35 +08:00
@Yc1992 谢谢提醒,才想到有这功能,哈哈,头一次用 PEP8 ,搞定了, Ctrl+Alt+R
Sylv
2016-08-02 09:17:32 +08:00
kkzxak47
2016-08-02 09:32:34 +08:00
其实代码规范这件事是为了方便协作,它不应该是手铐,如果有些地方你觉得难受,就去把它改了。
比如我们现在就把列宽限制改到了 120 。
shipinyun2016
2016-08-02 10:10:23 +08:00
不错
ts25504
2016-08-02 10:10:48 +08:00
PEP8 默认一行最多 79 个字符,刚好 80 个也算超过了
jjx
2016-08-02 10:14:04 +08:00
80 字符我都是忽略的,这是旧时代的产物,现在分辨率这么高,实在是没有必要了
likuku
2016-08-02 10:14:57 +08:00
Python 风格规范 — Google 开源项目风格指南 :
http://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_style_rules/

[行长度

Tip

每行不超过 80 个字符
例外:

长的导入模块语句
注释里的 URL
不要使用反斜杠连接行.]
ayaseangle
2016-08-02 10:29:09 +08:00
成大事者不纠结, ruby 才是你的归宿。。
ecloud
2016-08-02 10:36:49 +08:00
@kkzxak47 我以前用 VIM 的习惯是窗口都是 160 列,到头了自己折行。不过现在这个脚本要部署在服务器上,考虑远程维护的话可能还是按照 80 列折行的好
9hills
2016-08-02 10:37:57 +08:00
80 建议改成 120
msg7086
2016-08-02 10:53:49 +08:00
80 是字符模式界面的限制,现在没人用字符界面了。只要长度合适就 OK 了。
mgna17
2016-08-02 11:17:15 +08:00
代码大致遵循一下 PEP8 ,自己看着舒服,队友看着舒服,这样就差不多可以了,不必太强求
xiahei
2016-08-02 11:24:46 +08:00
超了用括号:
("asedfasdf")
("asdfasdfasd")
尽量少用 /不用:
"adfasdfasd\
afdasdfasdf"

很强的一篇博客。
http://ajucs.com/2015/10/09/The-Best-of-the-Best-Practices-Guide-for-Python.html
imn1
2016-08-02 11:49:36 +08:00
80 是为了方便在纯命令行界面修改的, GUI 界面我选择 ignore 这一条
mfinal
2016-08-02 11:58:03 +08:00
我觉得这时候,可以参看 Google Style 的 URL 不分行策略,强行把一个变量分开两行写也不合适呀。
guyskk
2016-08-02 13:19:51 +08:00
用 yapf 或者 auto-pep8 自动格式化一下就好了,代码风格主要是为了方便其他人阅读和维护,才有个统一的标准。如果只考虑自己,那当然可以爱怎么写就怎么写,想写多长就多长。当别人要给你 review 代码,或者给你改 bug ,就该多考虑别人的感受。
sqbing
2016-08-02 13:22:54 +08:00
r#8 @jjx 不只是因为分辨率低才用 80 字符限制,也是为了方便阅读代码。
Ahri
2016-08-02 13:53:33 +08:00
不要死抠 PEP-8 ,现在 120 貌似很流行。 Linter 都可以改配置为 120 。

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

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

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

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

© 2021 V2EX