一:背景

用于规范化ocp python开发,对于使用python开发的程序使用统一的风格,便于代码的维护

二:python风格规范

  • 分号:不要在行尾加分号,也不要用分号将两条命令放在同一行
  • 括号:宁缺毋滥的使用括号。除非是用于实现行连接,否则不要在返回语句或者条件语句中使用括号,不过在元组两边使用括号是允许的
  • 缩进:用4个空格来代替缩进代码。绝对不要用tab,也不要tab和空格混用。对于行连接的情况,你应该要么垂直对齐换行的元素,或者使用4空格的悬进式缩进(这时第一行不应该有参数)
  • 空行:顶级定义之间空两行,比如函数或者类定义。方法定义,类定义与第一个方法之间,都应该空一行。函数或者方法中,某些地方要是你觉得合适,就空一行
  • 空格:按照标准的排版规范来使用标点两边的空格。括号内不要有空格;不要在逗号、分号、冒号前边加空格,但应该在它们后边加(除了在行尾);参数列表、索引或者切片的左括号不应加空格;在二元操作符两边都加上一个空格,比如赋值(=),比较(==, <, >, !=, <>, <=, >=, in, not in, is, is not),布尔(and, or, not)。至于算术操作符两边的空格该如何使用,需要你自己好好判断。不过两侧务必要保持一致;当’=’用于指示关键字参数或默认参数值时,不要在其两侧使用空格;不要用空格来垂直对齐多行间的标记,因为这会成为维护的负担(适用于:, #, =等)
  • 类:如果一个类不继承自其它类,就显示的从object类继承
  • 字符串:即使参数都是字符串,使用%操作符或者格式方法格式化字符串,不要使用+的方式
  • 导入方式:每个导入独占一行。导入总应该放在文件顶部,位于模块注释和文档字符串之后,模块全局变量和常量之前。导入应该按照最通用到最不通用的顺序分组:标准库导入;第三方库导入;应用程序指定导入,每个分组中应该根据每个模块的完整包路径按照字典顺序排序,忽略大小写
  • 语句:通常每个语句应该独占一行。如果测试结果与测试语句在一行放得下,也可以将它们放在一行。如果是if语句,只有在没有else时才能这样做。特别地,绝对不要对try/except这样做,因为try和except不能放在同一行。
  • 命名:ob_module_name ob_package_name ObClassName TestObClassName method_name test_method_name ExceptionName function_name GLOBAL_VAR_NAME instance_var_name function_parameter_name local_var_name
  • 其它点待后续补充

三:要求:

  • 代码修改后必须先跑pylint再发起review,pylint跑分要控制在90之上,对于一些显而易见的不合规范之处必须修正
  • pylint使用:在obztools目录下执行tools/pylint.sh file

四:参考:

Python代码规范的更多相关文章

  1. 老李分享:pep8 python代码规范

    老李分享:pep8 python代码规范 什么是PEPPEP是 Python Enhancement Proposal 的缩写,翻译过来就是 Python增强建议书 . PEP8 译者:本文基于 20 ...

  2. python代码规范与标准库参考

    python代码规范与标准库参考 python代码规范参考文献: http://www.runoob.com/w3cnote/google-python-styleguide.html https:/ ...

  3. Python代码规范问题及解决

    Python代码规范问题及解决 为了养成使用Python编程好习惯,尽量保证自己写的代码符合PEP8代码规范,下面是过程中报出的警告及解决方法,英文有些翻译不太准确见谅,会不断更新: PEP 8 只是 ...

  4. Python代码规范之---代码不规范,亲人两行泪

    任何语言的程序员,编写出符合规范的代码,是开始程序生涯的第一步! 关于代码规范 Python 官方提供有一系列 PEP(Python Enhancement Proposals) 文档 其中第 8 篇 ...

  5. Python代码规范(PEP8)问题及解决

    转载:https://blog.csdn.net/Jason_Lewis/article/details/75386598 最近刚刚接触Python,为了养成好习惯,尽量保证自己写的代码符合PEP8代 ...

  6. python代码规范整理

    规范参考源: 1.pep8(python代码样式规范):中文文档      https://blog.csdn.net/ratsniper/article/details/78954852 2.pep ...

  7. python代码规范 自动优化工具Black

    自动优化工具Black 在众多代码格式化工具中,Black算是比较新的一个,它***的特点是可配置项比较少,个人认为这对于新手来说是件好事,因为我们不必过多考虑如何设置Black,让 Black 自己 ...

  8. python代码规范以及函数注释规范

    摘要 本文给出主Python版本标准库的编码约定.CPython的C代码风格参见​PEP7.本文和​PEP 257 文档字符串标准改编自Guido最初的<Python Style Guide&g ...

  9. python代码规范和命名规范

    一.简明概述 1.编码 如无特殊情况, 文件一律使用 UTF-8 编码 如无特殊情况, 文件头部必须加入#-*-coding:utf-8-*-标识 2.代码格式 2.1.缩进 统一使用 4 个空格进行 ...

随机推荐

  1. idea 普通文件夹 转换成 module

    经常会遇到从GitHub上download的progect在idea里面打开是普通文件夹形式,而并不是我们想要的module形式(文件夹图标右下角有个蓝色的tag),那么如何快速转换成我们想要的mod ...

  2. 异步消息处理(Message, Handler, MessageQueue, Looper)

    AsyncTask 适用于单线程任务处理,多任务处理还是 Message/Handler 处理方便一些 主要使用方式: 1,创建子类继承自 Handler 类,覆盖 handleMessage(Mes ...

  3. myeclipse 安装pydev插件后svn插件失效

    为了将python的IDE集成到myeclipse,按照教程安装了myeclipse插件pydev插件,但是按照完后发现,先前安装的svn不见了,解决办法如下: 1. 关闭myeclipse, 2. ...

  4. JAVA多进程入门

    概念 并行和并发 并行:物理上的实现,在同一时间点上发生 并发:两个事件在一个时间段内发生,如单片机的单核多线程 进程和线程 进程:一个应用程序可以有多个进程,每一个进程有一个独立的内存空间 线程:一 ...

  5. P1991 无线通讯网

    P1991 无线通讯网 题目描述 国防部计划用无线网络连接若干个边防哨所.2 种不同的通讯技术用来搭建无线网络: 每个边防哨所都要配备无线电收发器:有一些哨所还可以增配卫星电话. 任意两个配备了一条卫 ...

  6. guacamole实现剪切复制

    主要功能是实现把堡垒机的内容复制到浏览器端,把浏览器端的文本复制到堡垒机上. 借助一个中间的文本框,现将堡垒机内容复制到一个文本框,然后把文本框内容复制出来.或者将需要传递到堡垒机的内容先复制到文本框 ...

  7. js鼠标事件相关知识

    1.mousedown->mouseup依次触发后相当于click事件 2.除了mouseenter和mouseleave外,其它的鼠标事件都是冒泡的 3.mouseover和mouseout事 ...

  8. 第十篇 Python的字符串格式化

    字符串格式化:就是按照你的意愿做一个拼接的过程. 1. 字符串格式化的第一种方式:百分号方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存. %[ ...

  9. Wordpress 设置后台自定义post 排序

    创建新的 Post type时,文章在后台默认使用 Titile 列进行升序排序,但是通常情况下我们需要按日期 Date 进行降序排序, function wpse_81939_post_types_ ...

  10. Django源码分析之server

    乍见 Django内置的server基本包括两部分:django.core.servers和django.core.handlers 相识 servers.basehttp是Django自身提供的一个 ...