工程能力代码的艺术&编码惯例
Posted AllenSquirrel
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工程能力代码的艺术&编码惯例相关的知识,希望对你有一定的参考价值。
代码艺术
优秀代码标准:
- 代码的正确和性能
- 代码的可读和可维护性
- 代码的可运维和可运营
- 代码的可共享和可重用
系统设计要点:
- 清楚什么是系统架构
- 注意系统设计的约束
- 清楚需求是系统设计决策的来源
- 系统设计的风格与哲学(每个组件的功能都应该足够的专一和单一)
- 清楚接口的重要性
Mini-spider框架
多线程编程
- 数据互斥访问
添加与判断是否存在不应该分开处理 写入一个函数中
- 临界区的注意事项
不要把耗费时间的操作放在临界区内执行,否则无法发挥多线程对硬件资源最大化利用的优势
- I/O操作的处理
文件读取IO操作属于异常操作,文件读取错误会抛异常中断程序继续执行,如果放入临界区会导致异常操作消耗大量资源
代码检查
代码检查的意义:
- 提高代码可读性
- 发现代码缺陷
- 提前发现问题
- 规范制定与准入检查
- 提升编码规范可运营性
Python编码检查规则与惯例
检查规则:
- 代码风格规范
- 每行字符<=120
- 函数长度<=120行
- 禁止以“;”结束语句
- 一行只能写一条语句
- 尽量避免冗余括号
- 禁止tab缩进 统一使用四个空格缩进
- 单行内容拆成多行,首行留空,从第二行起统一缩进4个空格
- 类或全局函数定义相隔3个空行,类方法之间相隔1个空行
- 括号内均不添加空格,
- 参数列表左边括号前不加空格
- ,;:前不加空格 后加1个空格
- 二元运算符前后各加一个空格
- 关键字参数或参数默认值的等号前后不加空格
- 注释:文件声明包括版权声明,功能和用途介绍,修改人及联系方式
- 文档字符串docstring注释 三个双引号括起来
- 外部接口必须docstring注释 内部视情况而定
- 接口dicstring内容:功能简介 参数 返回值 如果存在异常抛出需要特殊注明
- 引用规范
- 禁止使用from... import...句式直接导入类或函数,导入库后再调用
- 每行只导入一个库
- 按照标准库 第三方库 应用程序自有库依次导入 间隔一行
- 定义规范
- 局部变量小写字母 单词间下划线分割
- 全局变量必须写在文件头部
- 常量使用全大写字母
- 函数返回值必须<=3个 否则具名形式包装
- 函数默认参数类型要求:整数 bool 浮点数 字符串 None
- 类定义命名采用首字母大写的驼峰式
- protect成员命名采用前加单下划线 private成员命名采用前加双下划线前缀
- 如果一个类没有基类 必须继承object类
- 类构造函数尽量简单 不能包含可能失败或过于复杂的操作
- 异常处理规范
- 禁止使用双参数形式或字符串形式的语法抛出异常
- 自定义异常:需定义名为Error异常基类,且继承Exception,其他异常均由该基类派生而来
- 禁止使用except:捕获所有异常,一般情况下使用except.....:捕获具体异常
- 捕获异常使用as语法 禁止逗号语法
编码惯例
- 让模块既可以被导入又可被执行
python无入口函数 通过自定义main函数实现: if 内置变量_name_==‘_main_’
- in运算符的使用
可代替大量重复判断过程 降低时间复杂度 提高代码执行效率
- 不适应临时变量交换两个值
- 用序列构建字符串
以上是关于工程能力代码的艺术&编码惯例的主要内容,如果未能解决你的问题,请参考以下文章