学习目的
学习如何养成良好的编码习惯和规范,以及使用集成开发环境避免不规范的编码。了解代码静态检查的概念以及代码缺陷检查表的使用。使用代码分析工具进行代码静态检查,以及代码性能分析与优化。了解如何使用性能测试工具帮助代码性能优化。了解Python代码性能优化经验,以及理解结对编程的理念和操作过程分析结对编程的优点和缺点,创造条件实践结对编程
学习内容
MOOC第二单元
学习产出
一、编程过程与规范
1.高质量代码特征:可读性强,易于维护和简洁高效。
2.编写代码过程
- 编写代码
- 代码审查
- 单元测试
- 集成调试
- 系统构件
- 代码优化
3.软件编程规范:与特定语言相关的描写如何编写代码的规则集合。
目的:
- 提高代码质量,避免不必要的程序错误
- 增强程序代码的可读性、可重用性和可移植性
4.Python编程规范
(1)程序模板
(2)注释:注释重在质量而非数量,需要大致让人知道程序是如何运行的,但不需要抠细节。
(3)命名:好的名字一目了然,不需要读者去猜,甚至不需要注释,确保代码本身不需要说明文档都能理解代码的作用。
(4)语句:
只使用时需要删繁就简。
二、Python集成开发环境
1.软件:PyCharm
2.PyCharm的使用
三、代码静态检查
1.代码审查概念:是一种用来确认方案设计和代码实现的质量保证机制,他通过阅读代码来检查源代码与编码规范的符合性以及代码的质量。
2.缺陷检查表
3.代码检查工具Pylint介绍
四、代码性能分析
1.优化概念:对代码进行等价变换,使得变换后的代码运行结果与变换前的代码运行结果相等,但执行速度加快或者存储开销减少。
- 前提:满足正确性、可靠性、健壮性、可读性等质量因素
- 以提高程序的全局效率为主,提高局部效率为辅
- 在优化程序效率时,要先找出限制效率的“瓶颈”
- 先优化数据结构和算法,在优化执行代码
- 时间效率与空间效率是对立的,要分析哪一个因素更加重要
2.优化步骤
- 证明需要进行优化
- 找出优化的关键部分:不一定是耗时最长的,改进有能力做且效果明显的部分
- 测试代码
- 优化代码
- 测评优化后的代码
3.优化建议
- 改进算法,选择合适的数据结构
- 循环优化的基本原则:尽量减少循环中的计算量,在多重循环时,尽量将内层计算提到上一层。
- 字符串的优化
- 使用列表解析和生成器表达式
五、结对编程实践
1.结对编程概念:将编程和复审结合,由两名程序员在同一台电脑上结对编写解决同一问题的代码。有助于提高代码质量、编写效率和团队能力。
2.结对编程角色
- 驾驶员:用键盘编写程序,对程序进行设计、编写代码和单元测试
- 领航员:起到领航、提醒的作用,检查驾驶员的工作,考虑单元测试的覆盖程度以及代码是否需要修改完善和出现的具体问题。控制开发的时间。
3.不适合结对编程的项目
- 处于探索阶段的项目
- 后期维护的技术按含量不高
- 验证测试需要运行很长时间
- 团队人员在多个项目中工作
- 领航的用处不大
六、反思总结
在本次学习中,学习到了编写软件时,代码的规格规范,让我对项目的写代码有了更深层的理解,能够让人很好了解的代码才是好的代码。而结对编程,我看到了两个不同人的思维方式不同,思维互补的过程,并且编写的效率能够高很多。