个人博客作业—2

一、代码规范有必要吗?

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

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

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

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

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

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

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

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

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

 

二、代码复审

 

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

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

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

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

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

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

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

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

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

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

  移除

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

  编码了

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

  有

      所有函数都有注释吗?
  

  有

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

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

posted @ 2015-10-01 10:48  任剑南  阅读(192)  评论(1编辑  收藏  举报