参考课程辅导书《构建之法》可以知道,程序的代码规范常指代码风格规范和代码设计规范两个方面,其中:代码风格规范包括(缩进,行宽,括号,断行与空白行,分行,命名,下划线,大小写,注释这几个部分),而代码设计规范包括(函数设计,使用goto,错误处理,类设计等),制定代码规范是合作编程中不可缺少的一环,对于增强结对编程效率,提高代码可读性有着重要的意义。


在此基础上对以下观点作出回应


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

    反对,首先规范化代码风格已经不再是一件消耗时间的事情了,程序员开发时仍可以通过indent和uncrustify这类工具批量规范化代码风格,代码设计风格也可以通过结对编程中的复审工作统一处理,相比较适应规范,适应不同的编程风格往往会消耗大家更多的时间,而且制定代码规范往往是一个团队协商的过程,与官僚主义无关

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

   支持,但仅限于某些情况,比如个人项目,或者自己的规范原则新颖简洁,能够得到团队的一致认可,极端一点的,也有自己开发一门语言这样的先例,由开创者精神是好的,但应尽量避免过多约束其他团队成员以免降低工作效率和工资

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

    高中政治题常说的“该观点不合理,正确的地方如下..不妥的地方如下..“就是用来描述这种观点的,诚然定死规范是不合适的,编程过程中难免有一些个人习惯问题,太严苛的话,代码规范造成的个人工作效率降低现象就会比较明显,所以不能强求一律,应在了解团队成员编程风格的基础上灵活制定,这是这句话正确的地方;应该允许很多例外,这个就不太妥当了,例外可以有,但是过多的话就与制定代码规范的最初想法相悖了,所以关健在于把握代码规范的严格程度,既不能太紧也不宜太松。要多在团队内部进行协商沟通,才可以制定出一个好的,大家都能接受的合理的代码规范。

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

  反对,这句话充分暴露出说话人有多么不擅长制定编码规范

【个人博客作业II】有关代码规范问题的讨论的更多相关文章

  1. 个人博客作业Week2(代码规范,代码复审)

    Q:是否需要有代码规范 首先我们来搞清楚什么是“代码规范”,它和“代码风格”又有什么关系.依据个人的审美角度,我可能更喜欢在函数与函数之间空出一行,可能在命名习惯和代码注释上更加的internatio ...

  2. #个人博客作业week2——关于代码规范的个人观点

    对于这一讨论的前提我们首先要知道什么是代码规范. 在这个问题上我同意一篇参考文章的观点——代码规范不仅只编码风格.编码风格仅是代码规范的一个方面,除了编码风格,代码规范还包括函数返回值等其他方面.在我 ...

  3. #个人博客作业Week2——关于代码规范的讨论

    <1> 这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 反驳:官僚制度在一定程度下维持了社会的和谐稳定,一个没有法律.没有拥有完善的管理体制.完全崇尚 ...

  4. 【个人博客作业II】代码复审结果

    [代码复审结果] General Does the code work? Does it perform its intended function, the logic is correct etc ...

  5. C语言第七次博客作业--一二维数组

    一.PTA实验作业 题目1:找鞍点 1. 本题PTA提交列表 2. 设计思路 定义n,i,j,ii,jj,a[7][7],flag,max 输入n for i=0 to i=n for j=0 to ...

  6. OO第四次博客作业!

    oo第四次博客作业 一.测试与正确性论证比较 测试只是单方面片面的证明对于当前的输入程序是正确的,测试只能证明程序有错误,不能说明程序是对的. 正确性论证是程序达到预期目的的一般性陈述,是通过规范化的 ...

  7. IEC2017级_1-2班两次博客作业成绩说明

    一.pta作业情况 前两次pta的答题情况,同学们“借鉴”情况突出,在点名公示后,第3次pta有明显好转,请同学们对自己要求更严格些. 二.博客作业情况 大多数同学能够按要求完成.第0次博客作业,个别 ...

  8. [BUAA软工]第一次博客作业---阅读《构建之法》

    [BUAA软工]第一次博客作业 项目 内容 这个作业属于哪个课程 北航软工 这个作业的要求在哪里 第1次个人作业 我在这个课程的目标是 学习如何以团队的形式开发软件,提升个人软件开发能力 这个作业在哪 ...

  9. [BUAA OO]第三次博客作业

    OO第三次博客作业 1. 规格化设计的发展 我认为,规格化设计主要源自于软件设计的两次危机.第一次是由于大量存在的goto语句,让当时被广泛应用的面向过程式的编程语言臃肿不堪,在逻辑性上与工程规模上鱼 ...

随机推荐

  1. MATLAB常微分方程的数值解法

    MATLAB常微分方程的数值解法 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ 一.实验目的 科学技术中常常要求解常微分方程的定解问题,所谓数值解法就是 ...

  2. hadoop系列 第三坑: Task process exit with nonzero status of 137

    跑MR的时候抛出异常: java.lang.Throwable: Child Error at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.j ...

  3. css给列表添加序号

    .middle ul{ counter-reset: show-list; } li{ padding-left: 30px; line-height: 1.3; position: relative ...

  4. File类_删除一个带内容的目录_练习

    需求:删除一个带内容的目录 原理:必须从最里面往外删除需要深度遍历 import java.io.File; public class RemoveDirTest { public static vo ...

  5. PHP中使用Elasticsearch

    PHP中使用Elasticsearch composer require elasticsearch/elasticsearch 会自动加载合适的版本!我的php是5.6的,它会自动加载5.3的ela ...

  6. nethogs 查看linux进程实时网络带宽利用率

    用命令iftop来检查带宽使用情况. netstat用来查看接口统计报告,还有top监控系统当前运行进程, 如果要查看进程的带宽使用情况,可以使用nethogs 1. 安装 yum -y instal ...

  7. go标准库的学习-reflect

    参考: https://studygolang.com/pkgdoc http://c.biancheng.net/golang/concurrent/ 导入方式: import "refl ...

  8. Mybatis集成(转)

    文章转自http://blog.csdn.net/l454822901/article/details/51829653 什么是Mybatis MyBatis 本是apache的一个开源项目iBati ...

  9. 最小生成树(图论)--3366lg【模版】

    题目描述 如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz 输入输出格式 输入格式: 第一行包含两个整数N.M,表示该图共有N个结点和M条无向边.(N<=5000,M<= ...

  10. Qt+QGIS二次开发:QGIS里的编程模型

    项目(QgsProject) 用于读写项目状态 图层分组(QgsLayerTreeGroup) 项目树的分组节点,用来存放图层节点. 图层节点(QgsLayerTreeLayer) 项目树的图层节点. ...