栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

结对编程之队友代码分析

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

结对编程之队友代码分析

结对编程之队友代码分析 前言:

课程要求分析队友个人项目的代码,分析这位同学的代码使我受益匪浅,下面是一些我的拙见。

优点: 1.工程结构

该同学的工程项目文件以功能划分,结构清晰。这样在我想查找他某个功能是如何实现时,能便捷的找到文件位置。

2.命名和编码规范

我的体会:一个大型的项目不是一个人能做完的,合作和沟通十分重要,在结对编程中,两个人信息的交互也很重要,好的代码能减轻同伴阅读理解的负担,使两个人效率都翻倍。

该同学的代码严格遵守了geogle-java的命名规范,且关于方法,属性等的命名直观,让人一目了然。

如getCurrentDate()方法,直观的可以得知该方法会获取当前时间Date对象。

总的来说他的命名和编码格式等都让人阅读起来很舒服。

3.注释和JavaDoc

该同学在类前和方法前都写有JavaDoc解释类和方法的含义,言简意赅。JavaDoc加上规范的命名,让我很轻松的理解了类的含义,以及方法实现的功能,大大提高了我阅读代码的效率。

在方法实现中,该同学用一两行简单的注释,解释了一些难以理解的地方,考虑很周到。如下图:

这两行注释解释了调用generateTestPaperFolderPath()方法的原因,–是为了防止切换用户路径改变造成程序错误。没有这样的注释我可能需要很久才能理解他这样做的原因。

4.类的设计

我的体会:java是一个面向对象的语言,类的设计好坏和程序设计的好坏有直接关系。我做个人项目时没有认真考虑分析需要设计哪些类,以及这些类需要做哪些事情。把这些类设计好了,对项目的设计和实现都有很大的帮助,在设计过程中条理也更加清晰。

该同学的工程中使用到了枚举类和抽象类,且有很恰当的运用。

根据颜色和年级这两个属性的特性,将其设计为枚举类。对使用枚举类的好处,个人理解并不是很深入。首先很直观的,使用枚举类,使得代码更加整洁,条理也更加清晰了。

其次我了解到枚举类的构造方法是私有的,私有意味着更加安全可靠,枚举类的实例是有限的无法增加的。这些在该同学的代码中都有体现。

在generator模块中,根据FileGenerator和TestPaperGenerator之间潜在的关系,该同学设计了一个AbstractGenerator抽象类,再让前两个类继承该抽象类。且在该抽象类中,仅需要对一个函数进行覆写,即generate()函数。

稍微分析类的逻辑关系以后,发现这样的设计是很贴合实际情况,符合逻辑的,根据不同的需要生成的product类型,在继承时实现符合要求的覆写。

5.测试文件的设计

我的体会:一个大型项目的完成,离不开好的测试程序。测试程序的好坏关系的程序设计的进度快慢和bug的多少。我在编写我的程序的时候,也会逐个对我的方法进行测试,但是我采用的是比较笨的方法,在源程序中对方法一个个测试。这样繁琐且不利于代码维护,因为测试通过以后我就会在源程序中删除那些测试代码,这位同学的方法很值得我学习。

在该同学的工程中,有一个专门的测试软件包,用于测试项目中的各类方法能否正常运行,这是我没有考虑的。

缺点: 1.有少量注释多余

像如下的注释是可以省去的,但对代码本身阅读没有造成难度。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/270306.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号