个人博客作业Week2 是否需要有代码规范
问题:是否需要有代码规范
对于是否需要有代码规范,请考虑下列论点并反驳/支持:
1.这些规范都是官僚制度下产生的浪费大家的编程时间、影响人们开发效率, 浪费时间的东西。
2.我是个艺术家,手艺人,我有自己的规范和原则。
3.规范不能强求一律,应该允许很多例外。
4.我擅长制定编码规范,你们听我的就好了。
正文:
在谈如上四个问题之前,第一个需要搞明白的问题是何为代码规范。在第一篇文章中,作者给出了清晰的说明,并且和其他的规范作了区别。我认为此处的代码规范指的是更偏向于代码风格的意思,区别于其他规范(如异常处理规范、输入参数规范)。
我很能理解第一个论点所说的“规范浪费时间“。制定规范花费时间,遵从规范更是让人感到别扭从而花费更多时间。然而即使浪费了这些时间,我认为制定一个规范并且大家都遵守仍然是很有必要的。就我自己来说,虽然在此之前我从没参与过团队的项目,从没遇到过需要遵守规范的场合,但我还是能够认识到规范的重要性。在我自己写一个稍微大一点程序的时候,如果我事先没想好名字在每个类中的取名法,我很可能取着取着就重了。显而易见,同样的变量名会让我混乱,容易出错。包括文件名、项目名,如果没有统一的一个安排,提交作业时就不知道该提交哪个,因为大家都叫homework123.在更多人共同开发的项目中,有一个统一的规范是非常必要的。从长远的角度来看,这样做可以节省更多时间。
其次,每个人有每个人自己的规则和习惯,这是不可避免的。大家都觉得自己的方式是最好的,不需要改变。然而在团队合作中,我们不是独立的个体,为了显示自己是个team-worker,我们应该遵从同意的规范。而且,就如第二篇的前谷歌员工所说,有许多事并不一定有什么最佳答案,只要能解决问题的方法就是好方法。同样,规范风格有时候也谈不上是不是最好的,应用起来方便、高效,这就是好规范。
然而就第三个问题,规范之所以为规范,就是因为一致性以及通用性。大家都用,都遵守,才能称之为规范。然而有些极端情况,比如遵从规范挥发费5倍时间,或是不更改规范就没法解决问题,在这种情况下无疑是需要变通的,即使做这种变通,也应该确保大家对新的规范达成一致意见了,大部分人都认可了,才去使用。
最后一个问题,我不确定是不是有人很擅长制定代码规范。一、是因为很少人这么说。比如有人说我擅长c++编程,有人说我擅长精简的算法,很少听到有人说我擅长制定规范。二、擅长意味着制定的标准非常好用。然而用什么标准来评判规范的好与坏呢?自己擅长只能说是这种规范自己用着比较舒服,大家都有自己用着舒服的规范。我认为这种程度不能算是擅长,也说不上什么擅长不擅长,只要是写代码写了一定量了的人,大家都有自己的规范。而且表现的这样武断也不利于团队工作。比如你提出你自己的规范,说明自己的理由,大部分人都认可,那么项目就可以进行下去了,没必要为一个规范而抓耳挠腮。我认为规范这种事,是看中形式而不看重内容的。进一步说明就是:重要的是大家都统一,而不是具体的规范有多么好。
个人博客作业Week2 是否需要有代码规范的更多相关文章
- 【个人博客作业II】有关代码规范问题的讨论
参考课程辅导书<构建之法>可以知道,程序的代码规范常指代码风格规范和代码设计规范两个方面,其中:代码风格规范包括(缩进,行宽,括号,断行与空白行,分行,命名,下划线,大小写,注释这几个部分 ...
- 个人博客作业Week2(代码规范,代码复审)
Q:是否需要有代码规范 首先我们来搞清楚什么是“代码规范”,它和“代码风格”又有什么关系.依据个人的审美角度,我可能更喜欢在函数与函数之间空出一行,可能在命名习惯和代码注释上更加的internatio ...
- 个人博客作业Week2
一.是否需要有代码规范 这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 我反驳这个观点,这些规范是成千上万的程序员在开发程序中总结出来的代码规范,他有助于我们的开 ...
- 个人博客作业Week2(9月30日)
一.是否需要有代码规范 1.这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 这些规范并不是一开始就有的,也不是由某个人规定的,代码规范是程序员们在不断地编程实践过 ...
- 个人博客作业week2——代码复审
1.代码规范 这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 代码规范并不是从官僚制度下产生,它是为了提高项目团队开发效率而产生的一种工具,能够极大的增强代码可读 ...
- 个人博客作业-Week2 (代码规范, 代码复审)
代码规范: 1.这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 编码规范它包含了代码格式,还包括了编码风格和其他规范,通常涉及:缩进.空格使用.Tab使用 注释. ...
- #个人博客作业week2——关于代码规范的个人观点
对于这一讨论的前提我们首先要知道什么是代码规范. 在这个问题上我同意一篇参考文章的观点——代码规范不仅只编码风格.编码风格仅是代码规范的一个方面,除了编码风格,代码规范还包括函数返回值等其他方面.在我 ...
- #个人博客作业Week2——关于代码规范的讨论
<1> 这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 反驳:官僚制度在一定程度下维持了社会的和谐稳定,一个没有法律.没有拥有完善的管理体制.完全崇尚 ...
- 软工个人作业-博客作业-WEEK2
1.是否需要代码规范: (1)这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 首先来说,从短期上和个体上来看,一个团队的代码风格必然会在一定程 ...
随机推荐
- ccf-20171203 Crontab问题
这题有如下几个点要注意: 1.最开始输出的开始时间和截止时间,这里是不包含截止时间的. 2.月份和星期的英文表示是大小写任意的,并未规定必须是Sat这种形式. 3.星期天的数字标识是0. 我的思路是, ...
- 【18】如何把数据存储到MongoDB数据库
如何把数据存储到MongoDB数据库 时间:2018.10.31 edit by :北鼻 一.mongoDB环境安装 需要使用mongoDB数据库的话需要安装环境, ...
- jQuery实现全选/反选和批量删除
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncod ...
- 使用CefSharp跳转页面不弹出页面:
using CefSharp; using CefSharp.Wpf; namespace Common.Control { internal class CefSharpOpenPageSelf : ...
- luogu P2860 [USACO06JAN]冗余路径Redundant Paths
题目描述 In order to get from one of the F (1 <= F <= 5,000) grazing fields (which are numbered 1- ...
- mysql中左连接后,最终的记录数大于左边表的记录分析
如果B表符合条件的记录数大于1条,就会出现1:n的情况,这样left join后的结果,记录数会多于A表的记录数. 例如:member与member_login_log表的结构如下,member记录会 ...
- 如何解决JSP页面顶端报错 The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
题目有点长,昨天刚接触jsp,按照网上的教程安装完 tomcat 和 eclipse EE 之后,新建jsp文件却出现了如下报错: The superclass "javax.servlet ...
- IDEA多线程下多个线程切换断点运行调试的技巧
多线程调试设置可以参考:http://www.cnblogs.com/leodaxin/p/7710630.html 1 断点设置如图: 2 测试代码,然后进行debug package com.da ...
- metamask源码学习-metamask-controller.js
The MetaMask Controller——The central metamask controller. Aggregates other controllers and exports a ...
- Linux上VsCode编译打包运行
前提:最好使用root用户可以排除一些不必要的错误. 一. 准备环境 Node.js(>= 8.12.0, < 9.0.0) Python2.7 Yarn(可以通过npm install ...