作业三 代码规范 代码复审 PSP
1.是否需要有代码规范(5分)
对于是否需要有代码规范,请考虑下列论点并反驳/支持:
1这些规范都是官僚制度下产生的浪费大家的编程时间、影响人们开发效率, 浪费时间的东西。
反对。我并不认为代码规范都是官僚制度下产生的,是大家公认的便于项目后期维护,方便大家理解的规范。一个项目有很大一部分时间是后期的维护,良好的代码有利于维护人员更好的理解代码,节约时间,提高效率。而且新手想要学习他的成果也能看得懂,至于说影响开发效率,我觉得良好的代码规范还有利于提高效率,毕竟代码写出来不只是给自己看,还要给同事看,不要让同事因为不想看你的代码而浪费时间。什么叫官僚制度,你不怎么样就会怎么样,而不是劝解,那才是官僚,没有说必须让你使用规范的代码,而是鼓励你使用规范的代码,会方便很多事情,什么是官僚制度,比如老师要让你必须弄一些无意义的东西,你不弄你就会没有分,然后老师给你排名,第几次作业多少分,不交作业扣多少分,晚交作业扣多少分,最后看你总分,差的毕业不了,然后没有毕业证,然后一辈子就完了,那叫官僚制度,循规蹈矩。
2我是个艺术家,手艺人,我有自己的规范和原则。
中立。我觉得作为程序开发人员,更重要的是要有团队精神。当然,个人能力也很重要。但是一个好的团队所能做到的事情不是一两个技术牛人就能完成的。如果你真有那种能力,没有你不可了,我认为这是无所谓的,按你的思想来呗,不要一棒子打死一批人,都已经牛到那个份了,人就是不想让别人看懂他的编程你也没辙。别人想学习一下也没辙,你也没辙、
3规范不能强求一律,应该允许很多例外。
凡事都有例外可以理解,虽然说规范要统一了才有意义,但是不排除某些公司内部使用自己的规范。我觉得规范存在的意义就是为了方便大家工作,提高效率的。如果公司统一规范,而且源码不会让公司以外的人接触到,我觉得也是可以的。
4我擅长制定编码规范,你们听我的就好了。
中立,还是那句话,你真要是一个人能干所有的事情,没有你不可了,那真的无所谓,你只要能按时漂亮的完成任务,怎么弄不是弄,而且有多少人规范编写代码是因为被逼无奈而不是因为本意想让所有人都能看懂。不要随便毁掉一种想法,一个人一个思想,只要不犯法我认为可以理解。
2.代码复审(10分)
这次我复审的是同学樊志豪的四则运算,使用VS2010,编程语言C++, 因为是随机出题器,所以会用到随机数,先定义两个随机数作为运算数,因为算法会用到+—*/所以再定义四个随机数,用于调用运算符,之后再进行运算。
#include<iostream>
#include<stdlib.h>
#include<iomanip>
#include<time.h>
using namespace std; #define random() (rand()%100)//运用rand()函数随机生成100以内的整数。 void main()
{
int s1,s2,s3,s4; srand((int)time(NULL));//运用srand函数设立随机种子,让种子和当前时间有关,避免每次生成的随机数相同 for(int i=;i<;i++)//运用for循环,共循环30次,生成30随机运算。 { s1=random(); s2=random(); int k=(int)rand()%;//运用rand()函数随机生成5以内的整数。 switch(k) { case :{cout<<s1<<"+"<<s2<<"="; break;} //进行整数加法运算 case :{cout<<s1<<"-"<<s2<<"="; break;} //进行整数减法运算 case :{cout<<s1<<"*"<<s2<<"="; break;} //进行整数乘法运算 case :{ while(s2==) s2=random(); cout<<s1<<"/"<<s2<<"="; break;} //进行整数除法运算 case : //真分数运算部分 { while(s2==||s1>=s2) { s1=random(); s2=random(); } s3=random(); s4=random(); while(s4==||s3>=s4) { s3=random(); s4=random(); } int q=(int)rand()%; switch(q) { case : cout<<"("<<s1<<"/"<<s2<<")"<<"+"<<"("<<s3<<"/"<<s4<<")"<<"="; break; case : cout<<"("<<s1<<"/"<<s2<<")"<<"-"<<"("<<s3<<"/"<<s4<<")"<<"="; break; case : cout<<"("<<s1<<"/"<<s2<<")"<<"*"<<"("<<s3<<"/"<<s4<<")"<<"="; break; case : cout<<"("<<s1<<"/"<<s2<<")"<<"/"<<"("<<s3<<"/"<<s4<<")"<<"="; break; } } } cout<<endl; }
system("pause");
}
经过运行发现,这个程序能运行,而且比较完美,符合要求,对于别人来说我不管,但对我来说这是完美的。没有毛病。
3.PSP记录个人项目耗时情况
PSP2.1 | Personal Software Process Stage | Time |
Planing | 计划 | 20分钟 |
Estimate | 估计这个任务需要多长时间 | 20分钟 |
Developing | 开发 | 20分钟 |
Analysis | 需求分析 | 15分钟 |
CodingStandard | 代码规范 | 5分钟 |
Coding | 具体编码 | 5分钟 |
CodeReview | 代码复审 | 5分钟 |
Test | 测试 | 5分钟 |
Reporting | 报告 | 10分钟 |
Postmortem&Report | 总结和报告 | 10分钟 |
作业三 代码规范 代码复审 PSP的更多相关文章
- 个人博客作业-Week2 (代码规范, 代码复审)
代码规范: 1.这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 编码规范它包含了代码格式,还包括了编码风格和其他规范,通常涉及:缩进.空格使用.Tab使用 注释. ...
- 代码规范与复审2——个人博客作业week
一.关于编程规范的重要性论证 1.不支持. 1)编程规范有利于自己提高编程效率和编程质量.编码是程序员的职责,一个好的信息技术产品必然有高质量的代码,高质量的代码首先 一点它必须遵守某种编程规范.如果 ...
- 代码规范、代码复审、PSP
作业三: 代码规范.代码复审.PSP 代码规范 代码规范的重要性 一.规范的代码可以促进团队合作 一个项目大多都是由一个团队来完成,如果没有统一的代码规范,那么每个人的代码必定会风格迥异.且不说会存 ...
- FW开发代码规范---小任性(2)
三.空行 (1)在每个函数.结构体.枚举定义结束之后都要加空行. 在一个函数体内,逻辑密切相关的语句之间不加空行,其它地方应加空行分隔. struct st1 { - }; // 空行 enum { ...
- Alpha冲刺——代码规范与计划
这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 这个作业要求在哪里 https://edu.cnblogs.com/campus/fz ...
- JavaScript代码规范和性能整理
性能 Js在性能方面有多要注意的地方: 避免全局查找 Js性能优化最重要的就是注意全局查找,因为作用域的查找是先找局部作用域在没有找到之后在去上一级作用域查找直到全局作用域,所以全局作用域查找的性能消 ...
- JavaScript 代码规范
所有的 JavaScript 项目适用同一种规范. JavaScript 代码规范 代码规范通常包括以下几个方面: 变量和函数的命名规则 空格,缩进,注释的使用规则. 其他常用规范-- 规范的代码可以 ...
- alpha冲刺——代码规范、冲刺任务与计划(追光的人)
代码规范 代码规范整合了自身项目实践还有诸多好的大公司的代码规范.如阿里巴巴开发手册.华为Java规范.W3C前端规范等. 由于内容过于详细和细致,为了方便查看,将其放置在了showDoc网站上(同时 ...
- JAVA代码规范 标签: java文档工作 2016-06-12 21:50 277人阅读 评论(5) 收藏
开始做java的ITOO了,近期的工作内容就是按照代码规范来改自己负责的代码,之前做机房收费系统的时候,也是经常验收的,甚至于我们上次验收的时候,老师也去了.对于我们的代码规范,老师其实是很重视的,他 ...
随机推荐
- Oracle 表空间联机(online)与脱机(offline)
数据库管理员可以在数据库处于开启(open)状态时令除 SYSTEM 表空间(tablespace)之外的任何表空间联机(online)(可访问)或脱机(offline)(不可访问).SYSTEM 表 ...
- 搭建dns域名服务器过程
在用TCP/IP协议族架设的网络中,每一个节点都有一个唯一的IP地址,用来作为它们唯一的标志.然而,如果让使用者来记住这些毫无记忆规律的IP地址将是不可想象的.人们就需要一种有记忆规律的字符串来作为唯 ...
- 即时通讯 TCP UDP
TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! ...
- button、label、textfield、页面跳转、传值
.AppDelegate.m #import “OneViewController.h” //一打开就运行的 -(BOOL)application:(UIApplication *)applicati ...
- IIS出现 分析器错误消息: 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的
这是因为发布的时候按了“生成部署包”
- iOS基础之网络请求相关
1.AFNetwork二次封装方法一: #import <Foundation/Foundation.h> @interface BeeNetworkManager : NSObject ...
- JS-数组的方法
var arr = [ 1,2,3 ];arr.push( 'abc' );//从后面加 arr.unshift( 0 );//从前面加 arr.pop()//从后面删除 arr.shift()//从 ...
- ContentProvider要点复习
ContentProvider要点复习 ContentProvider作为四大组件之一,发挥着举足轻重的作用.与之相关联的另外两个类分别是ContentResolver和ContentObserver ...
- <转>MFC注册系统/全局热键。
<转>MFC注册系统/全局热键. 1. BEGIN_MESSAGE_MAP(CRS232TESTDlg, CDialog) //{{AFX_MSG_MAP(CRS232TESTDlg) O ...
- 《python核心编程》读书笔记——列表解析
列表解析是列表类型的方法,这种方法结合了列表的方括弧.for循环.if语句. 用for把处理后的值放入列表: squared = [ x**2 for x in range(4) ] for i in ...