第二次作业
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zjlg/rjjc20 |
|---|---|
| 这个作业的目标 | <通读《构建之法》中课程已覆盖内容,列出3个问题> |
| 姓名-学号 | <凌浙渝>-<2018330301210> |
第一个问题:为什么要复审者做代码复审
首先,在代码复审中发现的问题,绝大多数都可以由开发者独立发现。从这一意义上说,复审者是在替开发者干开发者本应干的事情。即使开发者做到完美,代码复审也还有“教育”和“传播知识”的作用。更重要的是,不管多么厉害的开发者都会或多或少地犯一些错误,有欠考虑的地方,如果有问题的代码已签入到产品代码中,再要把所有的问题找出来就更困难了。越是项目后期发现的问题,修复的代价越大。代码复审正是要在早期发现并修复这些问题。另外,在代码复审中的提问与回应能帮助团队成员互相了解,就像练武之人互相观摩点评一样。团队中有新成员加入时,代码复审能非常有效地帮助新成员了解团队的开发策略、编程风格及工作流程。
第二个问题:代码复审的目的在于什么
1.找出代码的错误,比如:1)编码错误,比如一些碰巧骗过了编译器的错误2)不符合团队代码规范的地方
2.发现逻辑错误,程序可以编译通过,但是代码的逻辑是错的。
3.发现算法错误,比如使用的算法不够优化,边界条件没有处理好等。
4.发现潜在的错误 和回归性错误一当前的修改导致以前修复的缺陷又重新出现。
5.发现可能需要改进的地方。
6. 教育(互相教育)开发人员,传授经验,让更多的成员熟悉项目各部分的代码,同时熟悉和应用领域相关的实际知识。
第三个问题:程序中如何避免的太长变量名
1.在变量名中不要提到类型或其他语法方面的描述。例如一个表示全年假日的列表变量,不用写arraylistofHolidays,可以直接holidays。
2.避免过多的描述。例如一个变量是游戏中最后出现的“大boss",不用写theFinalBattleMostDangerousBossMonster,可以直接写boss。
3.如果信息可以从上下文中得到,那么此类信息就不必写在变量名中。例如一一个类叫EmployeeHealthRecord,它有一个员工姓名的变量,可以直接是“name”,而不必写employeeName。
4.避免可要可不要的修饰词。例如state, data, value, engine, entity,instance,object, manager.可以问自己,如果在变量名中把这些字都去掉,程序会更加难懂么?如果答案是否定的,那么可以把这些修饰词都去掉。
浙公网安备 33010602011771号