多年来,我写的Python越多,我发现自己更喜欢大多数指南,虽然我一直和故意打破一些为我自己的原因。
我很想知道在PEP 8(或其他PEPs也许)人们宗教地坚持和为什么,以及什么人觉得不方便或不足。
在我的情况下(和在一般的工作),只有一些我们偏离的事情:
>下划线分隔的小写名称,我可以看到它的点,因为它将始终是一致的,但我们倾向于使用lowerCamelCase,即使它偶尔会引入一些不一致(例如部分或错误大写的首字母缩略词和后面的单词通常是下到刺激的时刻呼叫)。主要是因为API的接近完整性我们通常使用camelCase(一些上部,一些较低),并且因为某种原因,我发现它更容易阅读,并且倾向于保留下划线作为分离令牌或规定的调整/模糊。
>我仍然不能让自己以空间的方式PEP规定对象内的方式。 new和init我倾向于在类下没有空行,因为我总是想要读取它们的类名和args,方法,贡献同样的功能范围的类(例如init,get和set相同的属性或属性集合)我只有单个空格分开,我喜欢在类之间三个空格,两个方法之间我不会精神聚集在该对象的地图。
这也是纯粹的代码的视觉冲击和可读性。我发现内部的流控制非常紧凑的内容和方法和对象之间的这种间距始终引导我的眼睛,我想要它重新读取代码停放后的几个月。它也很好地折叠我的编辑的选择。
>一些东西,而我坚持,当我读取否则写入,驱动我坚持,是选项卡,而不是空格(特别是当我们使用的一些应用程序编辑器不真正有选项卡替换功能,在代码基础在原型阶段)。
>事物的顺序,如进口,什么进口,全球等等。它真的抛出我有大量的进口,当这些混合或乱序的文件。
>在语句中的空白,特别是当人们使用制表符,并尝试对齐在不同长度的var名称中的线对齐赋值操作(并且似乎没有办法说服那些谁做一个excel看代码片段不是更干净;) )。
>和控制块内的间距,特别是当我看到在同一流控制块内的明显随机间距,然后在方法的对象内使用相似的间隔量。我不得不编辑那些,我甚至可以开始阅读的东西。
所以,这些都是我的,和我的“违反”PEP(一些共同,有些人皱眉的同事)背后的推理。我会非常好奇的阅读其他Pythonistas做什么,不做这些问题。