Question 1:

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

My opinion:

我认为恰恰相反,这个可以提高人们的开发效率。

在团队合作当中,如果一些编写程序的细节没有统一起来,在交接的时候就会非常困难。我曾经编写过一些小程序,是一个棋类的游戏,没有电脑的AI,只有双方互相对弈的规则,很多人曾经想和我把这个程序继续扩展一下,但是当时我的代码是这么写的:(当时我写的是Pascal)

for i3:= 1 to 11 do begin weizhishu[i3]:=jisuan1(qizi[i3]); weizhiheng[i3]:= jisuan2(qizi[i3]); end;

if flag2=1 then fang3=1;

for i4:=1 to 11 do a1[i4] = b2[i4]+i4;

在一个循环中基本不换行,变量名和循环变量随意起,没有什么规则,所有的都是随便起的。即使我明确的告诉了他们,weizhishu是位置的竖直方向,flag2是棋子放置的关键条件,fang3是可以放置的标志,a1是棋子,b2是变化过后的棋子。他们是不会记得住的!现在我可能会这么写:

num = 11;

//num 棋子的个数

for (loop = 1; loop <=num; loop++)

{

// location_level 和 location_vertical 是棋子放置的水平、垂直位置

location_level[loop] = cal_level(pieces[loop]);

location_vertical[loop] = cal_certical(pieces[loop]);

}

if (flag_cal == 1) flag_set = 1;

for (loop = 1; loop <=num; loop++)

// 更新棋子_f first _s second

pieces_f[loop] = pieces_s[loop];

我感觉,这样写会让当初我的小伙伴们方便许多吧。而且规定了规范,能让别人更快地上手你的程序,也避免了自己在长时间未复习的情况下忘记了自己的代码。当然我还见过其他的风格,比如曾经有个队友,他的所有过程都当函数写,而且都return -1。曾经我在调他的错误的时候就被一个函数折磨了好久。

综上,我认为这是个提高效率,减少交流矛盾,节省时间的东西。

Question 2:

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

My opinion:

我们允许每个人都有自己的特性,事实上,每个人也应该有自己独特的地方,这个我能理解。

然而在项目中,我们必须制定一套适合于大多数人的代码规范,让整个程序变得易于维护。艺术家更要考虑整体,要求细节。细想,整个程序是一幅画,你所做的是画人物上衣服的花纹。可能你的花纹画的十分漂亮,那么你能忍受一张奇丑无比的脸和十分抽象的背景吗?

毕加索

米开朗基罗

达芬奇

梵高

那么 毕加索+梵高+达芬奇+米开朗基罗 = ?

毕加索是大师,梵高是大师,达芬奇也是大师,米开朗基罗更是大师。但是如果他们一起画一幅画,很可能就会因为抽象意象、写实风格等问题,把整幅画画的不伦不类。我们要求的是一副看起来和谐自由的漂亮画面。我们每个人都是艺术大师,所以一定要有一个合作的方法,否则就会得到不理想的结果。这是我们大家都不想看到的。

来,艺术家,排排队友的肩,我们一起画出未来。

Question 3:

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

My opinion:

如果允许很多例外,规范就不是规范了。

规范就是我们之中的法律。王子犯法与庶民同罪。如果大家都有例外,我们岂不是就相当于没有规范了吗。

所以这个我认为我们团队不会允许。

Question 4:

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

My opinion:

我们认真的听,如果大部分人同意,也符合编码规范要求,我们就听你的。我还是希望团队能有和谐自由的风气,不要被一个人包办,这样大家都不能学到多的东西。

我的建议是,有经验的队员可以推荐一些资料,减少其他队员的入门时间,然后大家一起做。我们不仅可以每个人负责一个部分,更可以每个人都把自己会的拿出来,展示给大家,这样才能共同进步。

说到这里我忽然想起了我的一个挚友。我能走到这里,有他的很大一部分原因。他比我厉害很多,也谦虚很多。自己会了的东西,都无私的教给我。当时我们之间也有竞争,但是他愿意教我,即便这会让他少学习一点。他去了一个海边的城市,那里肯定也是他的舞台吧。

中秋已过,无意间,我抬头看了看窗外的明月。

Week 2 代码规范的更多相关文章

  1. iOS代码规范(OC和Swift)

    下面说下iOS的代码规范问题,如果大家觉得还不错,可以直接用到项目中,有不同意见 可以在下面讨论下. 相信很多人工作中最烦的就是代码不规范,命名不规范,曾经见过一个VC里有3个按钮被命名为button ...

  2. 谈谈PHP代码规范

    [转] http://www.syyong.com/php/Talk-about-PHP-code-specification.html 我向往这样一个php世界,里面没有代码规范之争.你我都一样,都 ...

  3. 2016 正确 sublime安装PHPcs PHPcodesniffer代码规范提示插件,修正网上部分不详细描述

    对你有助请点赞,请顶,不好请踩------送人玫瑰,手留余香!-------------------14:37 2016/3/212016 正确 sublime安装PHPcs PHPcodesniff ...

  4. C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义

    类型判断符号: C#:object a;  if(a is int) { }  用 is 符号判断 Java:object a; if(a instanceof Integer) { } 用 inst ...

  5. 作业三: 代码规范、代码复审、PSP

    分) 对于是否需要有代码规范,请考虑下列论点并反驳/支持: 这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 我是个艺术家,手艺人,我有自己的规范和原则. 规范不能 ...

  6. 转!!Java代码规范、格式化和checkstyle检查配置文档

    为便于规范各位开发人员代码.提高代码质量,研发中心需要启动代码评审机制.为了加快代码评审的速度,减少不必要的时间,可以加入一些代码评审的静态检查工具,另外需要为研发中心配置统一的编码模板和代码格式化模 ...

  7. C#代码规范

    C#代码规范  一.文件命名 1 文件名 文件名统一使用帕斯卡命名法,以C#类名命名,拓展名小写. 示例: GameManager.cs 2 文件注释 每个文件头须包含注释说明,文件头位置指的是文件最 ...

  8. 【转】Java代码规范

    [转]Java代码规范 http://blog.csdn.net/huaishu/article/details/26725539

  9. 作业三:代码规范、代码复审、PSP

    一.代码规范 我认为我们编写的代码都需要进行规范的操作,因为如果为了图省事情或者为了减少时间去完成这个编程.在最后检验的时候就会出现一些警告,导致你这次编程的代码出现问题,当出现问题的时候你在回头去检 ...

  10. 关于"是否需要有代码规范"的个人看法

    这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 我是个艺术家,手艺人,我有自己的规范和原则. 规范不能强求一律,应该允许很多例外. 我擅长制定编码规范,你们听我的 ...

随机推荐

  1. Windows和Mac浏览器启动本地程序

    前言 这几天有个需求,需要在IE上启动本地程序,就如下面一样. 一开始,我还以为IE有提供特殊的接口,类似上图中的“RunExe”,可以找了大半天觉得不对经(找不到该方法). 后来想想不对,这种方式是 ...

  2. ScheduledThreadPoolExecutor源码解读

    1. 背景 在之前的博文--ThreadPoolExecutor源码解读已经对ThreadPoolExecutor的实现原理与源码进行了分析.ScheduledExecutorService也是我们在 ...

  3. Java中一个线程只有六个状态。至于阻塞、可运行、挂起状态都是人们为了便于理解,自己加上去的。

    java中,线程的状态使用一个枚举类型来描述的.这个枚举一共有6个值: NEW(新建).RUNNABLE(运行).BLOCKED(锁池).TIMED_WAITING(定时等待).WAITING(等待) ...

  4. python六十二课——高阶函数之filter

    高阶函数之:filter函数:过滤数据的,最终返回一个惰性序列对象(filter对象,迭代器对象)解释:filter的意思:在计算机领域中我们都称为过滤器格式:filter(fn,lsd):参数和ma ...

  5. fibonacci数列的性质和实现方法

    fibonacci数列的性质和实现方法 1.gcd(fib(n),fib(m))=fib(gcd(n,m)) 证明:可以通过反证法先证fibonacci数列的任意相邻两项一定互素,然后可证n>m ...

  6. nodejs stream 手册学习

    nodejs stream 手册 https://github.com/jabez128/stream-handbook 在node中,流可以帮助我们将事情的重点分为几份,因为使用流可以帮助我们将实现 ...

  7. 【Topcoder 10384】KingdomMap

    Topcoder 10384 题意:给你一个森林,求是否能将这个森林的点集分成两部分,每部分放在一列中,要求边是直的并且不能交叉,问最少删哪几条边. 思路:我们考虑森林中的一棵树,以\(u\)为根,将 ...

  8. not annotated with HTTP method type (ex. GET, POST) 问题解决

    大多数情况是真的而没有写method = RequestMethod.GET.POST等注解, 有时这么写了也报类似异常,如下 @FeignClient("microservice-prov ...

  9. [拍摄]『ROSE 拆解』SONY 摄像机镜头拆解。

    镜头是从一部很老的sony摄像机上拆下来的.具体型号记不清了.应该是DCR系列的某个型号.使用Hi8磁带.NNN年前摄像机因为意外进水报废...拆拆去最后只剩下镜头了.镜头总成. 图片:IMG_201 ...

  10. OSC Source Code Innovation Salon(2018.10.20)

    时间:2018.10.20地点:北京 朝阳 浦项中心B座2层