zoukankan      html  css  js  c++  java
  • 个人博客作业—2

    一、代码规范有必要吗?

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

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

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

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

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

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

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

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

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

    二、代码复审

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

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

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

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

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

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

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

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

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

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

      移除

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

      编码了

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

      有

          所有函数都有注释吗?
      

      有

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

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

  • 相关阅读:
    C++运算符优先级
    UNREFERENCED_PARAMETER
    Eclipse无法查看源码 提示source not found
    JAVAWEB dbutils执行sql命令并遍历结果集时不能查到内容的原因
    JAVAWEB和数据库 Mysql连接不上的原因及解决方案
    电子设备 Kindle如何删除书籍或漫画
    JAVA StringUtils需要导入的包
    JAVAWEB servlet和jsp的权限访问控制
    JAVAWEB servlet验证登录时进行完全的非空判断防止空值登录
    JAVAWEB 遍历mysql结果集时 字段为0、false、null的问题
  • 原文地址:https://www.cnblogs.com/zhangbolong/p/4850761.html
Copyright © 2011-2022 走看看