软件工程-读书笔记(第4章)

两人合作

1. 代码规范
2. 代码风格规范
3. 代码设计规范
4. 代码复审
5. 结对编程
6. 两人合作的不同阶段和技巧
7. 个人总结

1.代码规范

代码不仅仅是给机器看的,很大程度上是给我们的同行、同事看。当我们阅读到一段可读性很差的代码,我们肯定会觉得这段代码的作者很差,就连最基础的代码规范都没有,
如果要我们接手这样一个项目,有人甚至会对此爆粗。那么作为程序员的我们,在学习的最初阶段更应该样成良好的习惯,让我们的代码符合基本的代码规范,
提高可读性,当其他人学习或者是接手时,能更加便捷。在两人的合作中,如果没有一定的代码规范,会让我们的开发时间大打折扣,而将宝贵的时间浪费在这种不值一提的小事上

2.代码风格规范

代码风格会因为团队不同,个人习惯原因,而产生差异,
但是在同一个团队,为了让代码更容易理解,后期更方便维护,
不论是小到二人合作还是数百人的大型项目开发,一定要统一风格。

代码风格的原则是:简明,易读,无二义性

3.代码设计规范

未来在工作中的程序不会再是HelloWorld,万年历那么简单,
在学习阶段我们实验的程序完全可以用一个main函数写完所有代码,但是我们并不能这么做,
我们不能像大一刚接触c语言时,在主函数里写满所有的功能,
现阶段我们要开始去设计我们的代码:
尽可能将程序分功能,分模块的开发,考虑代码的复用性,相互的调用关系、继承关系,更要考虑日后的维护和更新。

向低耦合,高内聚的方向努力

4.代码复审

1. 发现代码错误
2. 发现逻辑错误
3. 发现算法错误
4. 发现潜在错误和回归性错误
5. 发现需要改进的地方
6. 相互教育,传授经验

5.结对编程

结对编程模式是一对程序员肩并肩、平等地、互补地进行开发工作。

结对开发是两个人使用一台电脑一起工作。他们一起分析,一起设计,一起写测试用例,一起编码,一起做单元测试,
一起做集成测试,一起写文档等。而不是两个人分别开发,再合并交差。在我们各自独立设计、实现软件的过程中不免会出现一些问题,而在结对编程时,两人同写一段代码,
多少能避免一些独自开发的错误

两个程序员具有相同的缺点和盲点的可能性很小,所以当我们采用结对编程的时候会获得一个强大的解决方案。而这个解决方案恰恰是其它软件工程方法学中所没有的。

现实生活中也有很多这样的例子:驾驶员和领航员主机和僚机

6.两人合作的不同阶段和技巧

1. 萌芽阶段
2. 磨合阶段
3. 规范阶段
4. 创造阶段
5. 解体阶段

正确的影响对方
正确的给予反馈

7.个人总结

结对编程技术是指两位程序员坐在同一工作台前开发软件。与两位程序员各自独立工作相比,结对编程能编写出质量更高的代码。

两人合作在理论上是可以达到事半功倍的工作效果,但是我们还是要注意:

人是一种非常复杂的动物,他们的缺点和内心的阴暗面可能会比你想像得还要糟糕,而这些东西是可以让一切事物失败的。所以,正如《人件》所说,人才是软件开发中最核心,也是最需要花时间去关注的事情。

转载于:https://www.cnblogs.com/xiseven/p/5351129.html

软件工程-读书笔记(第4章)相关推荐

  1. 《Java编程思想》读书笔记 第十三章 字符串

    <Java编程思想>读书笔记 第十三章 字符串 不可变String String对象是不可变的,每一个看起来会修改String值的方法,实际上都是创建一个全新的String对象,以及包含修 ...

  2. Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据

    Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据 Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据 7.1 程序数据的命名 PL/SQL要求在给数据结构命名的时候应 ...

  3. Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理

    Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理 Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理 ACID原则:即一个事务具有原子性.一致性. ...

  4. PMP读书笔记(第9章)

    大家好,我是烤鸭:     今天做一个PMP的读书笔记. 第九章 项目资源管理 项目资源管理 项目资源管理的核心概念 项目资源管理的趋势和新兴实践 裁剪考虑因素 在敏捷或适应型环境中需要考虑的因素 9 ...

  5. PMP读书笔记(第2章)

    大家好,我是烤鸭:     今天做一个PMP的读书笔记. 第二章 项目运行环境 2.1 概述 2.2 事业环境因素 2.2.1 组织内部的事业环境因素 2.2.2 组织外部的事业环境因素 2.3 组织 ...

  6. PMP读书笔记(第1章)

    大家好,我是烤鸭:     今天做一个PMP的读书笔记. 第一章 引论 1.1 概述指南和目的 1.1.1 项目管理标准 1.1.2 通用词汇 1.1.3 道德与专业行为规范 1.2 概述指南和目的 ...

  7. 《Linux内核设计与实现》 第八周读书笔记 第四章 进程调度

    20135307 张嘉琪 第八周读书笔记 第四章 进程调度 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统.只有 ...

  8. 计算机系统导论第九章,计算机系统导论 -- 读书笔记 -- 第三章 程序的机器级表示 (持续更新)...

    计算机系统导论 -- 读书笔记 -- 第三章 程序的机器级表示 (持续更新) 第三章 程序的机器级表示 3.1 历史观点 3.2 程序编码 1. 命令行 (1)编译 Linux> gcc -Og ...

  9. Machine Learning in Action 读书笔记---第5章 Logistic回归

    Machine Learning in Action 读书笔记 第5章 Logistic回归 文章目录 Machine Learning in Action 读书笔记 一.Logistic回归 1.L ...

  10. Java 核心技术卷 II(第 8 版) – 读书笔记 – 第 1 章(下)

    22.一旦获得了一个 Charset,就可以在 Java 的 Unicode 和指定的编码格式之间进行转化,下面以 GBK 和 Unicode 之间做为例子. 从 Unicode 到 GBK: imp ...

最新文章

  1. LINUX进程调度分析源码,Linux 实时调度(源码分析)
  2. Bash Shell中命令行选项/参数处理
  3. Linux学习之CentOS(五)----网卡的配置
  4. 告别 996,解放开发者,一站式 AI 开发平台助力 AI-Native 时代
  5. Python引力波火了 你该了解的开源框架
  6. MongoDB数据插入insert和save操作
  7. 2022 极术通讯-搭载安谋科技“星辰”STAR-MC1处理器的上海航芯ACM32磁链观测器算法方案
  8. 全国计算机等级考试 和ccf,【我与CCF】我与CCF的不解之缘
  9. 无心剑中译拜伦诗4首
  10. 抖音:资本、梦想与躁动荷尔蒙裹挟的世界
  11. samba服务器如何配置
  12. iOS textfield 键盘弹出后不能切换中文键盘
  13. 观察者模式(结合C#,Unity)
  14. AtCoder Beginner Contest 136 E - Max GCD
  15. php网页可视化编辑器,在线HTML可视化编辑器KindEditor | 严佳冬
  16. 亚马逊16条领导力原则
  17. 视频博主都在用的 音频素材网,免费还可商用
  18. Shell脚本编程案例集(持续更新)
  19. 推荐几个科研数据相关的下载平台
  20. 三维数字化仿真技术应用

热门文章

  1. web扫描工具-Nikto介绍与使用
  2. Android 两种方式实现类似水波扩散效果
  3. phpstudy配置ssl
  4. redis入门(转)
  5. nginx平滑重启与平滑升级的方法
  6. XML配置STS(编写Spring配置文件时,标签无自动提示符解决)
  7. HDU2516 取石子游戏
  8. iostat 输出CPU、磁盘IO的使用情况统计信息
  9. html三个div相同高度,Html三个div并排,高度相同
  10. es统计有多少个分组_ElasticSearch 分组查询的几个例子