代码风格

代码风格前端

前端代码风格(Java部分,参考《Java编程风格》一书)python

1、格式规范:编程

  1.缩进嵌套的代码:在每一个代码块和嵌套中加入缩进,缩进代码,增强可读性,包括(类定义,内部类定义,方法定义,静态块,for循环语句,if-else语句,trycatchfinally块,匿名内部类,while语句,do-while语句)后端

  2.断开很长的句子:第一,若是包含了逗号,那么在每个逗号后面都另起一行,把逗号后面的每个表达式都和逗号前面的表达式的第一个字母对齐。第二,应该在优先级最低的运算符以前断行。函数

  3.使用空白:关键字和左括号之间,右括号和紧随其后的关键字,除了"."以外的运算符与其先后的表达式之间用空格隔开。每一个逻辑上独立的方法和代码段之间,定义类或者接口的成员之间,每一个类和接口之间应该加入空白行。优化

2、命名约定:this

  1.名称应该具备实际意义编码

  2.使用人们熟悉的名称spa

  3.采用驼峰法对象

3、包命名:

  1.用你所在组织的域名的倒序小写形式做为包的根限定词

  2.使用单独的小写词做为每一个包的根名

4、类型命名:

  1.类和接口名中的每一个单词的第一个字母大写

5、类命名:

  1.用名词命名类

6、接口命名:

  1.用名词或者形容词命名接口

7、方法命名:

  1.方法名中的第一个单词小写,其后每一个单词的第一个字母大写

  2.用动词命名方法

  3.遵循JavaBean中命名属性访问函数方法:setgetis

8、变量命名:

  1.变量命中的第一个单词小写,其后的每一个单词的第一个字母大写

  2.用名词命名变量

9、字段命名:

  1.使用this字段变量能够区分开局部变量

10、参数命名:

  1.构造函数或者"set"方法给字段分配参数赋值,参数名应该和字段名相同

11、常量命名:

  1.常量的每一个单词均大写,单词之间使用下划线链接

12、文档约定:

   1.为使用和维护代码的人编写文档

  2.注释和代码要同步

十3、语句和表达式:

  1.用等价的方法替换重复的、复杂的表达式

  2.使用块语句代替控制流结构的表达式

  3.使用括号明确操做顺序

  4.switch语句中的最后一个case体使用break语句

  5.使用equals(),而不是==来检测对象的对等关系

十4、效率:

  1.使用懒惰初始化

  2.避免建立没必要要的对象

  3.把优化工做留在往后


后端代码风格(python部分,参考PEP8标准):

1、命名风格

  1.整体原则,新编代码必须按下面命名风格进行,现有库的编码尽可能保持风格。

  2.尽可能以避免单独使用容易混淆的字母。

  3.模块命名尽可能短小,使用所有小写的方式,可使用下划线。

  4.包命名尽可能短小,使用所有小写的方式,不可使用下划线。

  5.类的命名使用CapWords的方式,模块内部使用的类采用_CapWords的方式。

  6.异常命名使用CapWords+Error后缀的方式。

  7.全局变量尽可能只在模块内有效,相似C语言中的static。实现方法有两种,一是__all__机制;二是前缀一个下划线。对于不会发生改变的全局变量,使用大写加下划线。

  8.函数命名使用所有小写的方式,可使用下划线。

  9.常量命名使用所有大写的方式,可使用下划线。

  10.用复数形式命名序列。

  11.用显式名称命名字典。

  12.避免通用名称。诸如 list, dict, sequence 或者 element 这样的名称应该避免。又如os, sys 这种系统已经存在的名称应该避免。

  13.类的属性(方法和变量)命名使用所有小写的方式,可使用下划线。

2、代码编排

  1.缩进。优先使用4个空格的缩进,其次可以使用Tap,但坚定不能混合使用Tap和空格。

  2.每行最大长度79,换行可使用反斜杠,最好使用圆括号。换行点要在操做符的后边敲回车。 

3、文档编排

  1.模块内容的顺序:模块说明和docstring—import—globals&constants—其余定义。其中import部分,又按标准、三方和本身编写顺序依次排放,之间空一行。

  2.不要在一句import中多个库。

4、空格的使用

  1.整体原则,避免没必要要的空格。

  2.各类右括号前不要加空格。

  3.逗号、冒号、分号前不要加空格。

  4.操做符左右各加一个空格。

  5.不要将多句语句写在同一行。

  6.if/for/while语句中,即便执行语句只有一句,也必须另起一行。

5、编码建议

  1.编码中考虑到其余python实现的效率等问题.

  2.尽量使用‘is’‘is not

  3.使用isinstance()比较对象的类型。

  4.判断序列空或不空,建议使用if [not] seq

  5.字符串不要以空格收尾。

6.二进制数据判断使用 if boolvalue的方式。