第四次博客作业-结对项目

任务1:(5分)

在学习通上注明结对的成员对格式:四班龚艳飞-----四班罗双奇

 

任务2:(95分)

结对的成员共同完成本次作业,撰写博客并将结对项目的程序发布到github上

 

博客的内容安排如下:

 

(1)提供你的结对成员的博客链接地址(5分)

龚艳飞的博客链接地址:https://www.cnblogs.com/gongyanfei/p/11723328.html

 

(2)结对成员对四则运算项目进行代码互审,并给出代码审查结果表

 龚艳飞的代码审查表(由罗双奇完成)(10分)

 

 

 罗双奇的代码审查表(由龚艳飞完成)(10分)

 

 

(3)选取其中一个成员的项目为基础,进行结对编程。结对项目撰写的博客要求:(30分)

 

选择为龚艳飞的项目为基础进行结对编程。

 

(a)结合课堂讲授内容,制订一份2人共同遵守的代码编写基本规范(至少包括注释规范与变量命名规范)。

 

1)变量命名规则

1、尽量使用完整的英文描述符

2、采用适用于相关领域的术语

3、采用大小写混合使名字可读

4、尽量少用缩写,但如果用了,必须符合整个工程中的统一定义

5、避免使用长的名字(小于 15 个字母为正常选择)

6、避免使用类似的名字,或者仅仅是大小写不同的名字

7、避免使用下划线(除静态常量等)

   

2)包( Package )的命名

Package 的名字应该采用完整的英文描述符,都是由一个小写单词组成。并且包名的前缀总是一个顶级域名,通常是 com、edu、gov、mil、net、org 等;

3)类( Class )的命名

类名应该是个一名词,采用大小写混合的方式,每个单词的首字母大写。尽量保证类名简洁而富于描述。使用完整单词,避免缩写词。

4)接口( Interface )的命名

基本与 Class 的命名规范类似。在满足 Classd 命名规则的基础之上,保证开头第一个字母为 ”I”,便于与普通的 Class区别开。其实现类名称取接口名的第二个字母到最后且满足类名的命名规范;

5)异常( Exception )的命名

异常( Exception ) 通常采用字母 e 表示异常,对于自定义的异常类,其后缀必须为 Exception

6)方法( Method )的命名

方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。方法名尽可能的描述出该方法的动作行为。

7)参数( Param )的命名

第一个单词的首字母小写,其后单词的首字母大写。参数量名不允许以下划线或美元符号开头,虽然这在语法上是允许的。

 

一个很好的可遵循的有关注释的经验法则是:

1、一般概念

注释应该增加代码的清晰度

保持注释的简洁

在写代码之前或同时写注释

注释出为什么做了一些事,而不仅仅是做了什么

 

2、注释哪些部分

类:类的目的、即类所完成的功能。

接口:在满足类注释的基础之上,接口注释应该包含设置接口的目的、它应如何被使用以及如何不被使用。在接口注释清楚的前提下对应的实现类可以不加注释;

方法注释:对于设置与获取成员的方法,在成员变量已有说明的情况下,可以不加注释;普通成员方法要求说明完成什么功能,参数含义是什么且返回值什么;另外方法的创建            时间必须注释清楚,为将来的维护和阅读提供宝贵线索;

方法内部注释:控制结构,代码做了些什么以及为什么这样做,处理顺序等,特别是复杂的逻辑处理部分,要尽可能的给出详细的注释;

参数: 参数含义、及其它任何约束或前提条件;

 

(b)描述结对编程的感受。

俗话说”三个臭皮匠,胜过一个诸葛亮”,两人在做同一件事时,集思广义发挥各自优点,可以使我分析更能切中要害。

所谓条条大路通罗马,但最捷径的路却只有那么几个。在两人不断集思广益和努力下,在错误中我们寻找到了正确的方向,使用更加简洁更加高效的代码实现程序目的。

 

相互督促可以使我们都能集中精力,更加认真的工作,比传统的孤胆英雄式开发要高效不止一个台阶。比如我们一个人,按照共同完成的活动图去编程,完成一小段逻辑后,另外一个人会马上给出意见,说出代码存在的潜在问题,这个潜在的问题,很可能是因为我们当时对项目理解存在偏差造成的。很可能这个时候我们要对设计进行改动以适应项目。

任何一段代码都被两双眼睛看过,两个脑袋思考过,代码的质量会得到有效提高。

 

“三人行必有我师”,相互学习对方的技能,可以提升自己水平。

 

(c)结对场景照片

 

 

 

(4)结对项目编程要求:(40分)

对结对项目首先完成代码规范和设计规范的修改,其次完成项目增加的需求,最后将完成的项目提交到github上,给出github的连接地址,可以给出简单的设计说明。

地址链接:https://github.com/playeroflife/20194720/blob/master/demo

 

增加的需求:

 

(a)考虑数据异常处理问题,如在输入题目生成范围的数据时,输入了“abc“等字符数据,程序如何处理。

 private static void writeExpressionsToFile(ArrayList<String> expressionList) {
        File file = new File(FILE_NAME);
        try (FileWriter fileWriter = new FileWriter(file)) {
            fileWriter.append(STUDENT_NO);
            for (String expression : expressionList) {
                fileWriter.append(NEW_LINE);
                fileWriter.append(expression);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

 

 

(b)增大算式生成数的范围(如整数存不下的数),程序如何处理。

 

posted on 2019-10-22 22:33  人生玩家  阅读(125)  评论(0编辑  收藏

导航