自己整理了一套 Python 的编码规范,欢迎大家指导

2020-07-20 12:15:16 +08:00
 Lonersun

地址: https://github.com/Lonersun/coding-promise/blob/master/Python%E7%BC%96%E7%A0%81%E8%A7%84%E8%8C%83.md

4403 次点击
所在节点    Python
40 条回复
PbCopy111
2020-07-20 12:50:23 +08:00
这是你的理论,还是大家约定俗称的理论啊??就看前几条,很多教程里面都不是这样子的啊。。
ampedee
2020-07-20 13:05:41 +08:00
挺棒的👍
siteshen
2020-07-20 13:06:39 +08:00
用了 https://github.com/psf/black 后,再也不用管单引号、双引号、空格的问题了。
Lonersun
2020-07-20 13:16:00 +08:00
@PbCopy111 一部分是自己在实际项目中的经验教训,一部分是参考了大家约定俗称的东西,也参考了阿里 JAVA 编码规范的一些东西,我个人认为编码规范没有对错之分,这更像一个契约,一个自己团队能保持风格一致的规则,如果有利于代码维护,那目的就达到了。
renmu123
2020-07-20 13:20:42 +08:00
大家应该都是遵守 pep8 规范的
volvo007
2020-07-20 13:24:26 +08:00
任何货币金额,均以最小货币单位且整型类型来进行存储

这一条,不应该用字符串来保存吗?
aeron
2020-07-20 13:24:32 +08:00
不是有现成的规范 PEP8 吗
j2gg0s
2020-07-20 13:24:48 +08:00
好 Google Python Style 或者 pep8 的显著区别在于? https://zh.wikipedia.org/wiki/%E5%A5%A5%E5%8D%A1%E5%A7%86%E5%89%83%E5%88%80
Vegetable
2020-07-20 13:32:56 +08:00
没什么大问题,可以在公司内部使用。
laike9m
2020-07-20 13:35:41 +08:00
大概看了一下还行,只不过这个例子应该用 constants.MALE 而不是 SEX_MAN

正例:[能通过常量的名称知晓所指的含义]

if sex == constants.SEX_MAN:
return False
xiangyuecn
2020-07-20 13:36:52 +08:00
python 不是怎么方便怎么来吗,哪来那么多条条框框,就图个方便,没别的
Lonersun
2020-07-20 13:41:59 +08:00
@laike9m 多谢指正
no1xsyzy
2020-07-20 13:44:00 +08:00
@laike9m #10 (不应该是 gender 么……
Lonersun
2020-07-20 13:44:17 +08:00
@renmu123 @aeron 我们团队内部也是要求必须遵守 PEP8 编码规范,而我们这个规则是在 PEP8 规范上的补充,更多的偏向业务方向以及一些小的技巧,目的是为了让大家风格保持一致,提高代码的可读性
qW7bo2FbzbC0
2020-07-20 13:45:26 +08:00
```python
apple = "苹果"
apples = ["苹果 1", "苹果 2"]
```

我一般是使用
```
apple = "苹果 1"
apple_list = ["苹果 1", "苹果 2"]
```
no1xsyzy
2020-07-20 13:46:05 +08:00
promise 是什么鬼,不应该是 convention 吗?
laike9m
2020-07-20 13:46:32 +08:00
https://v2ex.com/i/b6tF78T0.png

这一条我不赞同。空行违背了大多人的代码习惯,并且其它 style guide 也没有要求空行的。

https://v2ex.com/i/5X09U4mz.png

在 Python 3 里已经没必要了

https://v2ex.com/i/BNSgc85m.png

没看懂
laike9m
2020-07-20 13:48:55 +08:00
@no1xsyzy 嗯,Gender.MALE 最好
Lonersun
2020-07-20 13:50:01 +08:00
@xiangyuecn 简单的、一次性的项目没有那么多框框,但是针对一些比较中大型的项目,一些规范还是必要的,否则后期维护简直是灾难,就我们现在的项目开发维护了两年,大大小小迭代了十几个版本,研发前前后后小二十人,如果没有规范,维护起来还是很难的,而且好多规范不同语言之间道理是相同的,在看 JAVA 规范的时候发现好多可以借鉴的地方
fanjianhang
2020-07-20 13:51:15 +08:00
挺好的

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

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

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

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

© 2021 V2EX