工程能力代码的艺术&编码惯例

Posted HT . WANG

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工程能力代码的艺术&编码惯例相关的知识,希望对你有一定的参考价值。

代码艺术

优秀代码标准:

  1. 代码的正确和性能
  2. 代码的可读和可维护性
  3. 代码的可运维和可运营
  4. 代码的可共享和可重用

系统设计要点:

  1. 清楚什么是系统架构
  2. 注意系统设计的约束
  3. 清楚需求是系统设计决策的来源
  4. 系统设计的风格与哲学(每个组件的功能都应该足够的专一和单一)
  5. 清楚接口的重要性

Mini-spider框架

多线程编程

  • 数据互斥访问

添加与判断是否存在不应该分开处理  写入一个函数中

  • 临界区的注意事项

不要把耗费时间的操作放在临界区内执行,否则无法发挥多线程对硬件资源最大化利用的优势

  • I/O操作的处理

文件读取IO操作属于异常操作,文件读取错误会抛异常中断程序继续执行,如果放入临界区会导致异常操作消耗大量资源

代码检查

代码检查的意义:

  1. 提高代码可读性
  2. 发现代码缺陷
  3. 提前发现问题
  4. 规范制定与准入检查
  5. 提升编码规范可运营性

Python编码检查规则与惯例

检查规则:

  • 代码风格规范
  1. 每行字符<=120
  2. 函数长度<=120行
  3. 禁止以“;”结束语句
  4. 一行只能写一条语句
  5. 尽量避免冗余括号
  6. 禁止tab缩进 统一使用四个空格缩进
  7. 单行内容拆成多行,首行留空,从第二行起统一缩进4个空格
  8. 类或全局函数定义相隔3个空行,类方法之间相隔1个空行
  9. 括号内均不添加空格,
  10. 参数列表左边括号前不加空格
  11. ,;:前不加空格  后加1个空格
  12. 二元运算符前后各加一个空格
  13. 关键字参数或参数默认值的等号前后不加空格
  14. 注释:文件声明包括版权声明,功能和用途介绍,修改人及联系方式
  15. 文档字符串docstring注释 三个双引号括起来
  16. 外部接口必须docstring注释 内部视情况而定
  17. 接口dicstring内容:功能简介 参数  返回值 如果存在异常抛出需要特殊注明
  • 引用规范
  1. 禁止使用from... import...句式直接导入类或函数,导入库后再调用
  2. 每行只导入一个库
  3. 按照标准库 第三方库 应用程序自有库依次导入  间隔一行
  • 定义规范
  1. 局部变量小写字母 单词间下划线分割
  2. 全局变量必须写在文件头部
  3. 常量使用全大写字母
  4. 函数返回值必须<=3个  否则具名形式包装
  5. 函数默认参数类型要求:整数 bool 浮点数  字符串  None
  6. 类定义命名采用首字母大写的驼峰式
  7. protect成员命名采用前加单下划线  private成员命名采用前加双下划线前缀
  8. 如果一个类没有基类  必须继承object类
  9. 类构造函数尽量简单 不能包含可能失败或过于复杂的操作
  • 异常处理规范
  1. 禁止使用双参数形式或字符串形式的语法抛出异常
  2. 自定义异常:需定义名为Error异常基类,且继承Exception,其他异常均由该基类派生而来
  3. 禁止使用except:捕获所有异常,一般情况下使用except.....:捕获具体异常
  4. 捕获异常使用as语法 禁止逗号语法

编码惯例

  • 让模块既可以被导入又可被执行

python无入口函数  通过自定义main函数实现: if 内置变量_name_==‘_main_’

  • in运算符的使用

可代替大量重复判断过程 降低时间复杂度 提高代码执行效率

  • 不适应临时变量交换两个值
  • 用序列构建字符串

以上是关于工程能力代码的艺术&编码惯例的主要内容,如果未能解决你的问题,请参考以下文章

PEP8编码规范,及开发中的一些惯例和建议

如何评测软件工程知识技能水平?

工程能力设计方法&研发流程

如何评测软件工程知识技能水平?

工程能力质量意识&单元测试

STEAM