쌍으로 작업 - 네 번째 작업

링크

회원의 자매 결연을 통해 학습에 주목 :

1 -1 반 반 주석 Xiaosong 가오 지안

쌍 블로그의 회원을 연결 :
https://www.cnblogs.com/maxilong/p/11729323.html

코드 검토

코드 검토 체크리스트 (가오 지안)   후 Xiaosong의 그룹에 의해 완료
1. 요약 섹션    
1)에 맞춰 코드 요구 사항 및 사양을 준수? 그것은이다  
2) 코드 디자인 사려 깊은 여부? 포괄적 인 일관성 및 기능 요구 사항
방법 3) 코드의 가독성? 일반  
4) 쉽게 코드를 유지하기 위해? 쉽게  
5) 코드의 각 라인은 아직 확인? 그것은이다  
2. 디자인 사양    
여부 1) 알려진 디자인이나 프로젝트 모드에서 일반적인 패턴을 따라 설계? 그것은이다  
2) 어떤 하드 코딩 또는 문자열 / 숫자 등의 존재를 없다? 그것은이다  
3) 코드는 이식의 미래에 영향을 미칠 것인지, 특정 플랫폼에 의존하지? 아니오  
4) 4. 개발자들은 새로운 코드의 기능에 라이브러리 / SDK / 프레임 워크를 기존 달성 할 수 쓰기? 모두를 다시 구현하지 않고도 호출 할 수있는이 프로젝트에서 비슷한 기능이 있는지 여부? 그것은이다  
5) 5. 사용되지 않은 코드가 삭제되지 않을 수있다? 아니오  
3. 코드 사양    
1) 물건의 표준과 스타일에 맞춰 코드의 일부를 수정? 그것은이다  
4. 상세 코드 부    
1) 처리 오류가 없다? 외부 함수 호출의 경우, 반환 값 또는 예외 처리를 확인? 아니오  
2) 오류없이 전달되는 매개 변수 문자열의 길이 또는 문자 바이트의 길이 (시작 카운트 횟수 0 또는 1이다 개시) 싱글 / 더블 바이트 수있다? 0  
3) 어떻게 경계 조건을 처리하기 위해? 어떻게 기본 지점 스위치 문을 처리? 이 무한 루프는 루프 수 있습니까? 아니오 지점에서 점프 문을 기입
4) 아무 소용이 주장 (어설는) 우리가 정말 생각 같은 조건이 충족 없도록있다? 아니오  
5) 자원의 사용은 어디 어디 해제, 적용하는 것입니다? 그것은 자원 누출 (메모리, 파일, 다양한 GUI 자원, 데이터베이스 액세스 연결 등)이 발생할 수 있습니까? 그것은 최적화 할 수 있습니까? 그것은이다 이 때문에 수도,하지만 반드시 과도한 처리, 일회성 프로그램이 데이터를 생성 일부 누수
6) 이하의 데이터 구조 요소는 없다? 아니오 데이터는 유휴 데이터의 데이터의 실제 부재를 사용하여 정의됩니다
5. 효과    
어떻게 성능 1) 코드? 최악의 경우는 무엇입니까?   고정 된 패턴에 따라 프로그램의 실행, 좋고 나쁨의 부재
사이클의 명백한 부분은 최적화 될 수있다 2) 코드는 특히 거기 (C ++ 반복) C # 1의 StringBuilder 캐릭터 동작이 최적화 될 수 있는지, 클래스를 생성? 아니오  
6. 가독성    
방법 1) 코드의 가독성? 충분한 의견이 있습니까?   코드의 빈약 한 가독성은 충분히 의견은 코드의 의미를 이해하기
7. 테스트 용이성    
1) 1. 코드 업데이트하거나 새로운 유닛 테스트를 작성해야합니까? (등 데이터베이스, 웹 페이지, 멀티 스레딩, 등) 특정 지역에 대한 개발, 당신은 특별한 체크리스트를 구성 할 수 있습니다.   코드는 새로운 테스트 장치를 만들 수 있지만, 반드시, 너무 많은 테스트를하지 않고, 하나의 코드를 제공 할 수 있습니다
코드 검토 체크리스트 (후 Xiaosong)   가오 지안의 그룹에 의해 완료
1. 요약 섹션    
1)에 맞춰 코드 요구 사항 및 사양을 준수? 그것은이다  
2) 코드 디자인 사려 깊은 여부? 포괄적 인 일관성 및 기능 요구 사항
방법 3) 코드의 가독성? 명확한  
4) 쉽게 코드를 유지하기 위해? 그것은이다  
5) 코드의 각 라인은 아직 확인? 그것은이다  
2. 디자인 사양    
여부 1) 알려진 디자인이나 프로젝트 모드에서 일반적인 패턴을 따라 설계? 그것은이다  
2) 어떤 하드 코딩 또는 문자열 / 숫자 등의 존재를 없다? 그것은이다  
3) 코드는 이식의 미래에 영향을 미칠 것인지, 특정 플랫폼에 의존하지? 아니오  
4) 4. 개발자들은 새로운 코드의 기능에 라이브러리 / SDK / 프레임 워크를 기존 달성 할 수 쓰기? 모두를 다시 구현하지 않고도 호출 할 수있는이 프로젝트에서 비슷한 기능이 있는지 여부? 그것은이다  
5) 5. 사용되지 않은 코드가 삭제되지 않을 수있다? 아니오  
3. 코드 사양    
1) 물건의 표준과 스타일에 맞춰 코드의 일부를 수정? 그것은이다  
4. 상세 코드 부    
1) 처리 오류가 없다? 외부 함수 호출의 경우, 반환 값 또는 예외 처리를 확인? 아니오  
2) 오류없이 전달되는 매개 변수 문자열의 길이 또는 문자 바이트의 길이 (시작 카운트 횟수 0 또는 1이다 개시) 싱글 / 더블 바이트 수있다? 0  
3) 어떻게 경계 조건을 처리하기 위해? 어떻게 기본 지점 스위치 문을 처리? 이 무한 루프는 루프 수 있습니까? 아니오 분기에 채워진 휴식
4) 아무 소용이 주장 (어설는) 우리가 정말 생각 같은 조건이 충족 없도록있다? 아니오  
5) 자원의 사용은 어디 어디 해제, 적용하는 것입니다? 그것은 자원 누출 (메모리, 파일, 다양한 GUI 자원, 데이터베이스 액세스 연결 등)이 발생할 수 있습니까? 그것은 최적화 할 수 있습니까? 그것은이다 이 때문에 수도,하지만 반드시 과도한 처리, 일회성 프로그램이 데이터를 생성 일부 누수
6) 이하의 데이터 구조 요소는 없다? 아니오 데이터는 유휴 데이터의 데이터의 실제 부재를 사용하여 정의됩니다
5. 효과    
1)代码的效能如何?最坏的情况是怎样的?   数据控制在一定的范围内,按照固定模式执行,不存在好坏情况
2)代码中特别是循环中是否有明显可优化的部分(C++中反复创建类,c#中string的操作是否能用StringBuilder来优化)?  
6.可读性    
1)代码可读性如何?有没有足够的注释?   代码的可读性不好,由于从c平台移植到Java所有的功能均在主类中实现
7.可测试性    
1)1.代码是否需要更新或创建新的单元测试?针对特定领域的开发(如数据库,网页,多线程等),可以整理专门的核查表。   代码可以创建新的测试单元但是没有必要,代码的功能单一,无需过多的测试


结对编程

代码编写基本规范

  源代码文件以文件内容中的最顶层的Java类命名,而且大小写敏感,文件扩展名为 .java,同时,文件的编码格式统一为UTF-8。类的命名遵循大驼峰命名法UpperCamelCase,而方法名和变量名的命名遵循小驼峰命名法lowerCamelCase。常量名使用大写字母表示,单词之间以下划线分隔.jsp的文件名全部小写。、一个程序文件最好不要超过2000行。不用的代码和引用删除。请合理运用空行。空行可以用来隔开相对独立的代码块,有利于阅读和理解。为不容易理解类变量注释。注释代码段,注释逻辑选择。对成员方法,不要轻易采用public的成员变量。主要的修饰符有public, private,protected。避免过多的参数列表,尽量控制在5个以内,原则上关系密切的行应对齐,对齐包括类型、修饰、名称、参数等各部分对齐。另每一行的长度不应超过屏幕太多,必要时适当换行,换行时尽可能在","处或运算符处,换行后最好以运算符打头,常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以它要测试的类的名称开始,以Test结尾。


结对编程感受

  与一个人编程相比较,结对编程有很多优点。比如我自己写代码时不太注意编程规范,所以代码风格不是很优秀,再次读自己写的代码时就像看天书一样,可读性很差,但是两人结对编程的话两人可以互相商量变量命名等事宜,一个人也可以提醒代码规范的问题。结对编程时还能减少bug,“驾驶员”长期盯着屏幕,很容易疲劳而犯一些小错误,这时“领航员”便可轻松的指出错误以减少bug的产生,同样的,调试bug的速度也变快了。总之结对编程虽然降低了一些效率,但是写出的代码错误率更低,代码质量更高,也未尝不是一种补偿。但是结对编程并不是适合所有人,有的人就是喜欢一个人编程,两人结对编程的效率一部分取决于两个程序员的熟悉程度,所以两个人刚开始结对编程时需要一段时间来适应。可以不断从别人那里学习,提高自己的水平。这次结对编程,我们互相学到了很多,比如良好的代码风格,清晰的编码思路,以及熟练的调试技巧等通过两个人的讨论,更好的解决问题。

结对场景照片

新增的需求

github连接
https://github.com/maxilong258/NM-L

考虑数据异常处理问题,如在输入题目生成范围的数据时,输入了“abc“等字符数据,程序如何处理。
增大算式生成数的范围(如整数存不下的数),程序如何处理。

异常处理,当输入非法字符时,报错,并告知用户,输入非法,然后将打印默认数据。
如果算术式增大范围,整数存不下,报错,并告知用户输入范围有误,然后改为最大范围

链接

在学习通上注明结对的成员对:

1班胡晓松-1班高健

结对成员的博客连接:
https://www.cnblogs.com/maxilong/p/11729323.html

代码复审

代码复审核查表(高健)   由一班胡晓松完成
1.概要部分    
1)代码符合需求和规格说明吗符合?  
2)代码设计是否考虑周全? 周全 功能和要求相符
3)代码可读性如何? 一般  
4)代码容易维护么? 容易  
5)代码每一行都检查过了吗?  
2.设计规范部分    
1)设计是否遵循从已知的设计模式或项目中常用的模式?  
2)有没有硬编码或字符串/数字等存在?  
3)代码有没有依赖于某平台,是否会影响将来的移植?  
4)4.开发者新写的代码能否用已有Library/SDK/Framework中的功能实现?在本项目中是否存在类似的功能可以调用而不用全部重新实现?  
5)5.有没有无用的代码可以清除?  
3.代码规范部分    
1)修改的部分符合代码标准和风格嘛?  
4.具体代码部分    
1)有没有对错误进行处理?对于调用外部函数,是否检查了返回值或处理了异常?  
2)参数传递有无错误,字符串的长度是字节的长度还是字符(可能是单/双字节)的长度,是以0开始计数还是以1开始计数? 0  
3)边界条件如何处理的?switch语句的default分支是如何处理的?循环有没有可能出现死循环? 在分支中填入跳转语句
4)有没有使用断言(Assert)来保证我们认为不变的条件真的满足?  
5)对资源的利用,是在哪里申请,在哪里释放的?有没有可能导致资源泄露(内存,文件,各种GUI资源,数据库访问的连接,等等)?有没有可能优化? 有些泄露的可能,但是没有必要过度的处理,因为这是生成一次性数据的程序
6)数据结构中有没有用不到的元素? 所定义的使用的数据均为实用数据不存在闲置的数据
5.效能    
1)代码的效能如何?最坏的情况是怎样的?   程序按照固定模式执行,不存在好坏情况
2)代码中特别是循环中是否有明显可优化的部分(C++中反复创建类,c#中string的操作是否能用StringBuilder来优化)?  
6.可读性    
1)代码可读性如何?有没有足够的注释?   代码的可读性不好,注释足够,能读懂代码的含义
7.可测试性    
1)1.代码是否需要更新或创建新的单元测试?针对特定领域的开发(如数据库,网页,多线程等),可以整理专门的核查表。   代码可以创建新的测试单元但是没有必要,代码的功能单一,无需过多的测试
代码复审核查表(胡晓松)   由一班高健完成
1.概要部分    
1)代码符合需求和规格说明吗符合?  
2)代码设计是否考虑周全? 周全 功能和要求相符
3)代码可读性如何? 清晰  
4)代码容易维护么?  
5)代码每一行都检查过了吗?  
2.设计规范部分    
1)设计是否遵循从已知的设计模式或项目中常用的模式?  
2)有没有硬编码或字符串/数字等存在?  
3)代码有没有依赖于某平台,是否会影响将来的移植?  
4)4.开发者新写的代码能否用已有Library/SDK/Framework中的功能实现?在本项目中是否存在类似的功能可以调用而不用全部重新实现?  
5)5.有没有无用的代码可以清除?  
3.代码规范部分    
1)修改的部分符合代码标准和风格嘛?  
4.具体代码部分    
1)有没有对错误进行处理?对于调用外部函数,是否检查了返回值或处理了异常?  
2)参数传递有无错误,字符串的长度是字节的长度还是字符(可能是单/双字节)的长度,是以0开始计数还是以1开始计数? 0  
3)边界条件如何处理的?switch语句的default分支是如何处理的?循环有没有可能出现死循环? 在分支中填入break
4)有没有使用断言(Assert)来保证我们认为不变的条件真的满足?  
5)对资源的利用,是在哪里申请,在哪里释放的?有没有可能导致资源泄露(内存,文件,各种GUI资源,数据库访问的连接,等等)?有没有可能优化? 有些泄露的可能,但是没有必要过度的处理,因为这是生成一次性数据的程序
6)数据结构中有没有用不到的元素? 所定义的使用的数据均为实用数据不存在闲置的数据
5.效能    
1)代码的效能如何?最坏的情况是怎样的?   数据控制在一定的范围内,按照固定模式执行,不存在好坏情况
2)代码中特别是循环中是否有明显可优化的部分(C++中反复创建类,c#中string的操作是否能用StringBuilder来优化)?  
6.可读性    
1)代码可读性如何?有没有足够的注释?   代码的可读性不好,由于从c平台移植到Java所有的功能均在主类中实现
7.可测试性    
1)1.代码是否需要更新或创建新的单元测试?针对特定领域的开发(如数据库,网页,多线程等),可以整理专门的核查表。   代码可以创建新的测试单元但是没有必要,代码的功能单一,无需过多的测试


结对编程

代码编写基本规范

  源代码文件以文件内容中的最顶层的Java类命名,而且大小写敏感,文件扩展名为 .java,同时,文件的编码格式统一为UTF-8。类的命名遵循大驼峰命名法UpperCamelCase,而方法名和变量名的命名遵循小驼峰命名法lowerCamelCase。常量名使用大写字母表示,单词之间以下划线分隔.jsp的文件名全部小写。、一个程序文件最好不要超过2000行。不用的代码和引用删除。请合理运用空行。空行可以用来隔开相对独立的代码块,有利于阅读和理解。为不容易理解类变量注释。注释代码段,注释逻辑选择。对成员方法,不要轻易采用public的成员变量。主要的修饰符有public, private,protected。避免过多的参数列表,尽量控制在5个以内,原则上关系密切的行应对齐,对齐包括类型、修饰、名称、参数等各部分对齐。另每一行的长度不应超过屏幕太多,必要时适当换行,换行时尽可能在","处或运算符处,换行后最好以运算符打头,常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以它要测试的类的名称开始,以Test结尾。


结对编程感受

  与一个人编程相比较,结对编程有很多优点。比如我自己写代码时不太注意编程规范,所以代码风格不是很优秀,再次读自己写的代码时就像看天书一样,可读性很差,但是两人结对编程的话两人可以互相商量变量命名等事宜,一个人也可以提醒代码规范的问题。结对编程时还能减少bug,“驾驶员”长期盯着屏幕,很容易疲劳而犯一些小错误,这时“领航员”便可轻松的指出错误以减少bug的产生,同样的,调试bug的速度也变快了。总之结对编程虽然降低了一些效率,但是写出的代码错误率更低,代码质量更高,也未尝不是一种补偿。但是结对编程并不是适合所有人,有的人就是喜欢一个人编程,两人结对编程的效率一部分取决于两个程序员的熟悉程度,所以两个人刚开始结对编程时需要一段时间来适应。可以不断从别人那里学习,提高自己的水平。这次结对编程,我们互相学到了很多,比如良好的代码风格,清晰的编码思路,以及熟练的调试技巧等通过两个人的讨论,更好的解决问题。

结对场景照片

新增的需求

github连接
https://github.com/maxilong258/NM-L

考虑数据异常处理问题,如在输入题目生成范围的数据时,输入了“abc“等字符数据,程序如何处理。
增大算式生成数的范围(如整数存不下的数),程序如何处理。

异常处理,当输入非法字符时,报错,并告知用户,输入非法,然后将打印默认数据。
如果算术式增大范围,整数存不下,报错,并告知用户输入范围有误,然后改为最大范围

추천

출처www.cnblogs.com/huguoguo/p/11730079.html