个人博客作业—2

一、代码规范有必要吗?

  对于是否需要有代码规范,请考虑下列论点并反驳/支持:

    1.这些规范都是官僚制度下产生的浪费大家的编程时间、影响人们开发效率, 浪费时间的东西。

      反驳:大一学C语言课的时候,老师强调编程重要的一点就是可读性和可扩展性,尤其是在多人完成一个大型项目的时候,让别人看得懂显得重中之重。如果想让自己的程序不是“一次性的”,那么意味着大家应该共同遵守类似交通法规的一种编程法则,缩进,命名,文件结构,注释风格如果处理得当,可以让别人轻松的阅读任意一段代码,并轻易的看懂它们,使大家的编程效率提高。原来看过一篇文章,里面对比了印度和中国在IT领域的差距,文章提到中国盛产很多不规范的程序员,并且做了测试,对于同一个程序,中国人有很多种“个人风格”写法,而印度人却能惊人地一致。这看起来很不重要,似乎只是个小问题。但在硅谷,印度人的地位远远高于中国人的原因恐怕就在于良好的职业素养。可以说,不考虑代码规范的程序员是不职业的。在开发中,往往人们通过基本结构了解关注的功能,此时,代码规范可以增加人们开发的效率。

    2.我是个艺术家,手艺人,我有自己的规范和原则。

      反驳:既然是个艺术家,那么不如按照自己的行为习惯开发一套编程语言吧。比如我觉得松本行弘的Ruby就比较行云流水,符合东方人的思维。而且好像现在有些人很热衷于汉语编译器,挺写意的。如果自己不能按照自己的风格自成一家,那么我觉得还是接受大家共同的规则才能和谐。每个人都有自己的编程风格,就像每个人语音语调都不一样,但是大家都用普通话交流,就像标准的代码规范,如果谁用家乡方言,不熟悉你的人必然产生不同的理解,你如果不能用大家共同语言来交流,要么就自己发明一套语言并且让大家接受,要么就停止与其他人的交流。否则,还是老老实实的按标准来吧,毕竟很多艺术家在生前都是让人厌烦的。

    3.规范不能强求一律,应该允许很多例外。   

      反驳:当按照某种编码规范进行具体项目编程时,肯定会在某些地方你的编码风格会优于这些规范。实际项目的开发,自然会根据团队的协商来制定相应的代码规范,每个团队有各自的规范,这些是可以更改的。但就一标准来说,而不是单就某一个项目,还是应该规范代码。比如全局变量有害,但是也不是不能用。程序的具体实现虽然不同,但框架应该相一致。

    4.我擅长制定编码规范,你们听我的就好了。

      反驳:风格是程序员的灵魂,每个人都想在枯燥的代码中留下点自己的印记。但是一个人的风格往往不那么合理,即便很合理,也可能不符合大多数人的行为习惯。所以我觉得不如大家一起找出相同点,找到都能接受的编码规范,才是最合理的。如果你的风格不那么受欢迎,那还是接受更多人的习惯吧。

二、代码复审

  程序是否能工作?它是否执行了预期的功能,它的逻辑是否正确?

  程序实现了预期功能,每个类的逻辑也正确。
  所有代码是否容易理解?

  代码还是很容易理解的,可能是题目比较直观的原因,注释,缩进,变量名,空格等都挺规范
  它符合你约定的编码习惯吗?这些通常会包括括号的位置、变量和函数命名、行宽、缩进、代码格式、注释。

  符合
    有冗余的或重复的代码吗?

   没有多余的代码,不同模块实现不同的约束功能
  是尽可能模块化的代码吗?

代码用C#实现,模块实现得很明确
      有全局变量可以替换吗?

  没有
  有任何注释掉的代码吗?

没有
      循环有一定长度或者终止条件?

那是必须的,不然能跑吗
      有哪些代码可以被库函数替换掉?

没有
      记录或者调试代码被移除了吗?

  移除

所有的输入被检查(对类型、长度、格式、范围)和编码了吗?

  编码了

  是否有注释和代码目的描述?

  有

所有函数都有注释吗?
  

  有

  测试存在吗?它们是否全面?最少要达到你期望的代码覆盖量。

  对每个函数都进行了单元测试。

时间: 2024-10-12 07:13:26

个人博客作业—2的相关文章

文件服务相关博客作业

nfs和sameba博客作业 博客实践作业: (1) nfs server导出/data/目录: (2) nfs client挂载/data/至本地的/mydata目录:本地的mysqld或mariadb服务的数据目录设置为/mydata, 要求服务能正常启动,且可正常 存储数据 (3) 客户端(lamp)部署wordpress,并让其正常访问:要确保能正常发文章,上传图片: (4) 客户端2(lamp),挂载nfs server导出的文件系统至/var/www/html:验正其wordpres

https的博客作业

博客作业:分别使用httpd-2.2和httpd-2.4实现 1.建立httpd服务,要求: (1) 提供两个基于名称的虚拟主机www1, www2:有单独的错误日志和访问日志: (2) 通过www1的/server-status提供状态信息,且仅允许tom用户访问: (3) www2不允许192.168.0.0/24网络中任意主机访问: 2.为上面的第2个虚拟主机提供https服务: 前提准备: 172.16.1.1测试httpd-2.4,这是centos7系统 172.16.1.2测试htt

C语言博客作业--一二维数组

一.PTA实验作业 题目1:7-2 求整数序列中出现次数最多的数 1. 本题PTA提交列表 2. 设计思路 定义变量n,i,j,max等于0,a[]10用于存放输入的值,b[10]用于存放a[]中各个数有多少个; 输入n的值 i从0开始,每次加1,输入a[i]的值,直到i==n结束循环 i从0开始,判断i是否<n,,进入下一步,每次加一,直到条件不满足 j从0开始,判断j是否<n,,进入下一步,每次加一,直到条件不满足 如果a[i]==a[j],b[i]加一 i从0开始,判断i是否 输出a[j

博客作业1--抽象数据类型

一.作业题目 实验题目 试仿照三元组或复数的抽象数据类型写出有理数抽象数据类型的描述 (有理数是其分子.分母均为整数且分母不为零的分数). 有理数基本运算如下所示: 1.构造有理数R,元素x1,x2分别被赋以分子.分母值 2.销毁有理数R 3.用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母. 4.将有理数R的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母 5.有理数R1,R2相加,结果存入有理数R3 6.有理数R1,R2相减,结果存入有理数

个人博客作业Week7(心得体会)

Alpha阶段结束了,内心可以说是五味杂陈.不是说我们的产品拿不上台面那般差劲,复杂的心绪主要来源于和别的队的比较,别的队才刚刚发布没多久访问量和注册量就破百了,并且还发起了找bug送红包的活动.可能是觉得付出了相同的努力,却没办法换回相同的效果,看来还是得审视自己的问题. 本周的个人作业是阅读关于软件开发本质和开发方法的博客/文章,结合自己在个人项目/结对编程/团队项目的经历,谈谈自己的理解或心得.借这个机会找一下我们的不足吧. 阅读材料目录:

个人博客作业1

发表在你的个人博客上,也可以同时转发到你的团队博客上来增加你们团队博客的人气.具体要求如下: 1)在开始实现程序之前,使用下述PSP表格记录下你估计将在程序的各个模块的开发上耗费的时间. PSP2.1 Personal Software Process Stages Time Planning 计划 · Estimate · 估计这个任务需要多少时间 8 Development 开发 · Analysis · 需求分析 (包括学习新技术) 0 · Design Spec · 生成设计文档 0.5

第零次博客作业

第一部分:结缘计算机 1. 你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?(必答) 当年高考前在专业这件事上纠结了好久,因为我对于大学各个专业具体学什么都不甚了解,于是就迟迟没有明确的目标,可以说整个高三自己一直都是迷茫的状态,就这样一直保持到了高考.我当年高考是先出成绩,后填报志愿,等到成绩出来之后发现意外地比期望要高,而北航应该是最适合我的学校了.身为一个比较"宅"的理科男,我当时打算将专业锁定在"数学"."计算机"."

第八次个人博客作业

软工课程总结 一.回望开学初对于软件工程课程的想象,回望博客开篇时对于这门课和这学期的期望 对比开课前的我,现在的我写的代码的规范性和可扩展性越来越好了,可以更快更好地完成工作,最主要的是通过结对编程和团队编程学到了如何与他人合作编程,编程过程中与他人的意见出现分歧如何解决,走过整个软件开发的所有过程,受益匪浅.       最开始由于作业的紧张,觉得太占用自己的时间,有想过放弃,但后来还是坚持了下来,随后的结对编程和团队项目,证实了我的决定是正确的,虽然我的贡献不是最大的,但我从项目中学到了很

C语言博客作业—一二维数组

一.PTA实验作业 题目1:7-2 求整数序列中出现次数最多的数 1. 本题PTA提交列表 2. 设计思路 Begin 输入整数个数N 定义数组a[N] 输入数组a for(i 0 to N-1){//进行N次判断 for(j 0 to N-1) if(a[i]和a[j]相等) count加一 i等于0//第一次判断 使max=count; n=i;//n放下标,max放次数 i不等于0且count大于max 使max=count; n=i;//重新赋值 count为0//每次循环count为0

C语言第十次博客作业--结构体

#一.PTA实验作业(5分) ##题目1:6-3 结构体数组中查找指定编号人员 ###1. 本题PTA提交列表(要提交列表,不是结果) ###2. 设计思路 struct student { char num[10]; int year,month,day ; };该结构体表示人员的编号,出生年月日. 定义一个环境变量 for i=0 to i<8 若找到指定编号,则return *(std+i) ###3.代码截图(注意,截图,截图,截图.不要粘贴博客上.不用用···语法去渲染) ###4.本