作业三: 代码规范代码复审PSP
Posted 13-1陈胜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了作业三: 代码规范代码复审PSP相关的知识,希望对你有一定的参考价值。
一、代码规范
对于是否需要有代码规范,请考虑下列论点并反驳/支持:
1.这些规范都是官僚制度下产生的浪费大家的编程时间、影响人们开发效率, 浪费时间的东西。
2.我是个艺术家,手艺人,我有自己的规范和原则。
3.规范不能强求一律,应该允许很多例外。
4.我擅长制定编码规范,你们听我的就好了。
有关代码规范的事情,我从我个人观点出发是需要有代码规范。上面4则观点我都不太认同,
因为程序语句是在电脑中使用的,需要编译为机器语言。虽然人是活的,但是机器是死的。所以在死规矩面前变化多端肯定是不行的。
还有一点需要注意的是,我们规范自己的代码,养成这样的习惯对于以后的学习和生活是非常有帮助的。它可以促进团队合作,减少bug处理,降低维护成本以及有助于代码审查。
二、代码复审
1 #include<stdio.h> 2 #include<stdlib.h> 3 #include <time.h> 4 #define N 30 5 main() 6 { 7 int a,b,k,i,n; 8 float c,d; 9 srand(time(NULL)); 10 do{ 11 printf("\n请输入数字类型(1.整数 2.小数) -1为退出程序: "); 12 scanf("%d",&n); 13 14 switch(n) 15 { 16 case 1: 17 { 18 for(i=0;i<N;i++) 19 { 20 a=rand()%100+1; 21 b=rand()%100+1; 22 k=rand()%4+1; 23 printf("%d",a); 24 switch(k) 25 { 26 case 1:printf("+");break; 27 case 2:printf("-");break; 28 case 3:printf("*");break; 29 case 4:printf("/");break; 30 } 31 printf("%d=\t\t",b); 32 } 33 break; 34 } 35 break; 36 case 2: 37 { 38 for(i=0;i<N;i++) 39 { 40 c=rand()*0.001+1; 41 d=rand()*0.001+1; 42 k=rand()%4+1; 43 printf("%0.2f",c); 44 switch(k) 45 { 46 case 1:printf("+");break; 47 case 2:printf("-");break; 48 case 3:printf("*");break; 49 case 4:printf("/");break; 50 } 51 printf("%0.2f=\t",d); 52 } 53 break; 54 } 55 break; 56 } 57 } 58 while(n!=-1); 59 }
本次代码复审我选择的是程伟同学的代码。
四则运算这个算法老师并没有规定用什么编译环境,所以我运用了简单的C语言 C-free5.0环境,我这个同学也是用的这个环境。
他这个代码总体看来 简单可读 但是仔细读起来貌似没有体现了回答部分的 功能,只有出现了随机数,随机四则运算。
然后这个代码规范起来还算好一点,可能是简单,没有写那么多功能。
本人才疏学浅,也只能看出这种门道。还需好好学习,向别人取取经。
三、PSP
PSP2.1 | PSP Stage | Time(%)SDE |
Planning | 计划 | 6% |
Estimate | 估计这个任务需要多少时间 | 6 |
Development | 开发 | 88% |
Analysis | 需求分析 | 12 |
Design Spec | 生成设计文档 | 4 |
Design Review | 设计复审(和同事审核设计文档) | 8 |
Coding Standard | 代码规范(为目前的开发制定合适的规范) | 1 |
Design | 具体设计 | 10 |
Coding | 具体编码 | 23 |
Code Review | 代码复审 | 9 |
Test | 测试(自测,修改代码,提交修改) | 21 |
Reporting | 报告 | 6% |
Test Report | 测试报告 | 2 |
Size Measurement | 计算工作量 | 1 |
Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 3 |
以上是关于作业三: 代码规范代码复审PSP的主要内容,如果未能解决你的问题,请参考以下文章