`

那些牛叉无比的评审风格,你,属于哪一种?

阅读更多

这篇文章里,我们可以见到许多有意思的编程风格,又没有精神为之一振的感觉,仿佛里面的例子就在自己身上,或者离自己很近。其实,对于文档、代码的评审,也是有诸多风格可言的,我这里列举一些有意思的典型:

 

一坨屎型评审

阅读文档、代码的时候,这些东西在自己眼里就是一坨屎:“我这么高智商的人都看不懂,明显是你有问题!”。

这样的人有一个他自己相当认可的世界观,凡是和这个世界观相冲突的无论对错的事务,必须强力排斥。这样的人眼中容不下复杂的东西,复杂对他的智商而言是一种侮辱,他会选择下结论的方式来拒绝自己对文档或代码的进一步阅读;对于和自己预期不一致的设计和实现,必须升级为人身攻击,挥舞狼牙棒子痛骂一顿,最后得出的结论就是,“很明显,这个人创造的东西是一坨屎,这个人也是一坨屎。”

这样的评审表述有:

“这里体现了一个问题,你考虑问题太缺乏全面性和深入性”

“这里写的太烂了,请重写”

“这是什么,我看不懂,和我的实现方式不一样,请改到我的那种实现方式上去”

“我没法再看下去了,到处是问题,以至于我没给你写几条评审意见,请好好阅读XXX规范文档!”

……

 

到处放炮型评审

这些评审者思考一个问题的时候,想得非常全面,全面到病态,但是非常浅层次,他们像领导一样指出你的文档或者代码到处都布满了你少考虑到的东西,但是只给你看的时候,一律点到即止,绝不深入展开。相信你一边自惭形秽,一边会对他们崇敬有加:“领导就是领导(老员工就是老员工),就是见多识广”。

譬如,你设计了这样一个方法:

 

public void storeAsFile(Data data, String path)

他会给瞬间抛出无数个问题: 

把数据存储为文件,磁盘已经满了怎么办?没有权限怎么办?存储到一半的时候发生故障了怎么办?写文件的时候断电了怎么办?写文件写到一半的时候突然发现磁盘不够用了怎么办?写的时候性能怎么样?大家都在写文件,文件会不会有很多碎片?路径过长怎么办?一个文件夹下文件过多怎么办?文件名有操作系统不接受的字符怎么办?……

OMG,这个世界太复杂,我的大脑太简单。或许,大师你的设计文档可以写到辞海那么厚。

 

只捡芝麻型评审

这类评审人员有一个共同的特点,不深入代码或文档,显著的、设计上的问题、深入的和充满意义的问题一律不关注(事实上,他们也挑不出那样的问题),只看那些拼写、语法、格式之类的问题。这些问题严格来说都可以列为问题,但是这些问题的一个共同特点就是,都是一些非常简单和鸡肋、次要的问题,或者是公司或团队某些无良人士自己定义的某些无聊规范上的问题,并且是不深入业务、设计和实现,完全可以找出来充数的问题

有一些领导远离了技术很多年,但他们依然可以用如此方式的评审来证明自己:“瞧,别看我现在不设计编码了,但是我掌握的技能依然炉火纯青,我依然可以挑出你代码里面几百个毛病来!”,于是他们一样让你崇敬有加:“领导就是领导(老员工就是老员工),就是做事细致”。这些问题包括:

“这个单词的一个字母大小写错误”,“这个tab格式要换成四个空格”,“这行注释上面为什么多空了一行?”,“这个地方的注释语句少了句号!”,“这个变量名还不够清晰”,“这个包下面没有增加一个包说明文件”,“这个类的注释量太少,需要增加到XX%”,“这个for循环可以改写成while循环,代码看起来会更简单”,“这里final和static关键字的顺序写错了”……

好吧,看起来,一个再简单的实现,你也可以被批得体无完肤。

 

吞吞吐吐型评审

他们在思考问题的时候,确实有自己的想法,但是碍于关系、面子、资历、辈分,无法充分和一针见血地表达自己的态度和观点,而是选取了一种话说一半、唯唯诺诺的方式

“可能是我的见识短浅,我觉得这里似乎可以考虑一下文件不存在的场景,您看是否可以?”,

“此处仿佛存在一个未曾考虑到的场景,请指教”

“建议此处考虑存在的空指针异常”

……

这样的评审意见其实相对于之前说到的几种,要显得实际和有效,但是有一种让人起鸡皮疙瘩的感觉,而且由于评审时过于谨慎和惶恐,评审效率和表述深度都很难保证,评审意见中堆砌了大量的客套话。

 

对于代码和文档的评审,我有这样的几个建议:

1、评审是一个交流和学习的过程,大家都是平等的,不要鄙视别人,更不要鄙视自己。

2、有不合理、欠考虑的地方要指出,精彩的设计、优秀的想法也要鼓励,评审不是只挑毛病。

3、不要担心和害怕犯错!所有的软件过程都是带来产品和团队进步的过程,为了担心一个可能的错误,扼杀了自己的思维火花,就太不值得了。

4、就事论事,争论是值得鼓励的,但是不可以上升到人的层面上来。

 

你还见识过什么样的牛叉的评审风格,你还有什么想法,和我分享一下如何?

 

文章系本人原创,转载请注明出处和作者

4
1
分享到:
评论

相关推荐

    软件评审讲义(PDF格式)

    什么是软件评审(review)、审查(inspection)、走查(walkthrough)? 需要化多少时间?我的项目进度太紧了,无法安排评审. 如何提高评审的有效性? 评审过程如何进行?评审员越多越好吗? 可以用评审结果来评估...

    论文评审模版--如何评审论文

    主要是给论文做评审,从哪些方面进行评审?综合各方面,从而决定论文是否被录用

    计划评审方法中项目工期估计的一种方法

    计划评审方法中项目工期估计的一种方法,学习工程项目管理的使用

    小组评审表1:小组组内交叉评审表1

    表1小组组内 阶段(里程碑)交叉评审表第 组 第 次评审被评审人: 评审日期:分项内容1分项内容2分项内容3分项内容4分项内容5工作内容个人小计工作量评审得分注

    产品开发流程-技术评审一评审要素表.pdf

    产品开发流程-技术评审一评审要素表.pdf

    嵌入式软件评审(软件评审规范&要素)

    嵌入式软件评审规范:软件评审规程-交付物审计检查表;软件评审规程-内部审计进程表单;软件质量系统管理评审规程。。。 嵌入式软件评审要素:单板软件详细设计评审要素表(硬件);单板软件详细设计评审要素表...

    代码评审规范代码评审规范

    代码评审规范代码评审规范代码评审规范代码评审规范代码评审规范代码评审规范

    HFSKY高校评审项目专家评审平台 v1.0

    一、系统介绍: 随着高校“质量工程”的不断推进,用于教学和辅助教学的多媒体和教育软件日渐增多。为了进一步提高课件和教育软件的制作水平和应用效果,各高校多次开展课件和网络课程的评比活动,达到“以评促建”...

    IPD-DCP和TR各阶段评审要素表完整(模板).zip

    在IPD运作中,DCP评审共有5个,主要是业务决策是否要进入下一个阶段,从产品投资的角度进行评审。TR评审共有7个,主要是从技术的角度评审决策是否具有可实现性和技术领先性。本资源为您整理了DCP和TR评审各阶段的...

    CMMI评审检查表模板

    此文档为CMMI评审检查表格模板,其中包含了《评审准备表》、《代码走查评审记录表》、《项目计划表》、《需求规格表》、《软件设计表》、《Java代码走查清单》、《React代码走查清单》《C语言代码走查清单》、《测试...

    预算评审方案.docx

    预算评审方案

    评审与同行评审实践评审与同行评审实践

    作为cmm的一个重要关键域,评审与同行评审是质量保证的重要阶段

    研发评审报告(一份多用途)

    此报告是研发评审工作通用模板,集多年研发管理工作经验之作。特别适用于非标自动化单位、个人使用。可应用在方案、3D图、工程图、设计问题等评审记录。让评审工作规范可追溯,通用性好,去掉各种繁杂的评审表单。...

    论文评审系统11

    论文评审系统

    软件方案评审表.docx

    软件方案评审表 包括项目名称、评审内容、评审人员、部门、职务。 评审内容、存着问题及改进建议、评审结论、领导意见、客户意见。

    需求规格说明书_评审意见整理 1

    评审问题单基本信息评审时间2020/3/27评审地点腾讯会议评审对象需求规格说明书评审方式线上审查评审员任健(任课老师)、全体选课同学评审意见序号评审人问题回答

    如何对测试用例进行评审

    测试用例评审标准首先要清楚内部评审的定义,是测试组内部的评审,还是项目组内部的评审。评审的定义不同,内容也不会相同。如果是测试组内部的评审,应该着重于:1.测试用例本身的描述是否清晰,是否存在二义性;2....

    软件需求评审表单1

    软件需求评审表单项目名称评审对象版本号提交日期编制人评审日期评审方式评审准则完整性:软件需求规格说明书中没有遗漏必要需求可行性:软件需求规格说明书中每一个需求都

    一级综合医院评审标准实施细则.doc

    一级综合医院评审标准实施细则.doc

    嵌入式软件详细设计文档评审检查表

    以文档的作用及评审内容为前提,提供一种嵌入式软件详细设计文档的架构及评审检查内容条目

Global site tag (gtag.js) - Google Analytics