参考课程辅导书《构建之法》可以知道,程序的代码规范常指代码风格规范和代码设计规范两个方面,其中:代码风格规范包括(缩进,行宽,括号,断行与空白行,分行,命名,下划线,大小写,注释这几个部分),而代码设计规范包括(函数设计,使用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. Oracle导入程序Imp的使用详解

    Oracle的导入实用程序(Import utility)允许从数据库提取数据,并且将数据写入操作系统文件.imp使用的基本格式:imp[username[/password[@service]]], ...

  2. MySQL性能分析工具之PROFILE

    Mysql Profile 如何开启Profiles功能以及如何简单使用: https://www.cnblogs.com/zengkefu/p/6519010.html MySQL profiles ...

  3. eclipse打断点调试进入到class文件中,不显示变量值的解决办法汇总

    每天学习一点点 编程PDF电子书免费下载: http://www.shitanlife.com/code 问题描述:eclipse打断点调试进入到class文件中,而且监视区不显示变量结果 是由于对应 ...

  4. 使用 Apache Web 配置多个站点

    导读 如何在流行而强大的 Apache Web 服务器上托管两个或多个站点.这篇文章的环境是 Fedora 27 虚拟机,配置了 Apache 2.4.29.如果你用另一个发行版或不同的 Fedora ...

  5. Vue2 第四天学习(Vue的生命周期)

    阅读目录 1.理解VUE---混合 2.Vue实例化选项 3.Vue实例化的生命周期 回到顶部 1.理解VUE---混合 在了解Vue生命周期之前,我们先来学习Vue中的混合吧: 为什么需要使用混合? ...

  6. IDEA Maven Jetty Jrebel 热部署

    准备:1.下载Jrebel的离线安装包,版本是6.4.3版本.            2.下载Jrebel的破解补丁包,同样也是针对6.4.3版本的 Jrebel离线安装包官网下载地址:https:/ ...

  7. linux中yum与rpm区别

    一.源代码形式 1.      绝大多数开源软件都是直接以原码形式发布的 2.      源代码一般会被打成.tar.gz的归档压缩文件 3.      源代码需要编译成为二进制形式之后才能够运行使用 ...

  8. CF11D A Simple Task 状压DP

    传送门 \(N \leq 19\)-- 不难想到一个状压:设\(f_{i,j,k}\)表示开头为\(i\).结尾为\(j\).经过的点数二进制下为\(k\)的简单路总数,贡献答案就看\(i,j\)之间 ...

  9. 创建一个宽高成比例的弹性div盒子

    这里先提供一种,有更好的方法再补充. demo代码如下: <!DOCTYPE html> <html lang="en"> <head> < ...

  10. C#集合Collections购物车Shopping Cart

    这篇是对象与集合操练,物件的创建,集合的一些基本功能,如添加,编辑,删除等功能. 对象,即是网店的商品物件,Insus.NET只为其添加2个属性,物件的ID的Key和名称ItemName以及2个构造函 ...