0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

快快建好质量墙吧,它既保护了程序员,也保护了项目

华为开发者社区 来源:华为开发者社区 作者:华为开发者社区 2020-09-23 13:52 次阅读

导语

本文为《Quality Wall to Protect Developers Against Stress and Fear》文章的内容摘要,1200字带你领略质量墙的魅力,完整版本,敬请期待。

作者:Yegor Bugayenko译者:徐毅前言

程序员到底应该为所写软件的质量担负多大的责任?有人认为程序员应该为产品负责,也有人认为程序员的主要责任是交付速度,项目质量是项目要去考虑的问题。

程序员编写软件的过程中,会创造有缺陷代码或“Bug”。软件项目的主要目标之一就是在提升质量的同时减少Bug数量。手工测试和同行评审等常用方法都是等代码里已经出现了Bug才去寻找,过于被动。采取预防措施提升代码质量的代价更低,也更为人所青睐。

“招募更好的程序员”是最为流行的一种方法,我们都认为更专业、更昂贵和更有才干的程序员能够写出没有错误的代码。然而,真相并非如此。正如Kaner等人所言,“程序员相互之间存在着巨大的差异,但没有谁的工作是不会出错的”。

责备那些产出了Bug的程序员们,是另一种同样备受质疑的方法。其负面影响广为人知,弊远大于利,导致程序员们压力越来越大、工作越来越慢、抛出更多代码,被称之为“恐惧驱动开发”。但正如Evans知名博文“恐惧让你成为更糟的程序员”所言,对软件开发来说,恐惧只会让我们事与愿违。

打造“质量墙”

所有程序员都会犯错,但他们不应该因此而被责罚。该如何解开迷局呢?该怎么做才能够减少代码缺陷、同时允许程序员随意犯错呢?办法是有的。别为了代码质量责怪他们,让项目去关注质量、让程序员能够无所畏惧地全速编码,效果好得不是一点点。办法就是打造一面强大的、自动化的“质量墙”,守护其代码基。墙越强大,程序员就越觉得安全。

首先,他们将在自己的“特性分支”上修改代码和犯错误;其次,向主代码基提出合并代码变更,建议采取拉取请求的方式;第三,质量墙将验证这些变更,如果发现任何新错误就会拒绝合入;最后,只要作者移除掉所有错误,质量墙就会合入这些变更。

如何构建这堵“墙”

软件项目可以采取如下一些技术性和组织性的措施来构建这样的质量墙,并保护源代码不被程序员们所破坏。

自动化构建

单元测试和集成测试

强制覆盖率阈值

变异覆盖率阈值

强制静态分析

多步骤代码评审

只读主干分支

“质量墙”让程序员快速交付,保护项目

让程序员在合并前备受折磨的障碍还有很多。Nygard在他的《发布!软件的设计与部署》书中给出了建议。测试失败?拒绝。Lint有告警?拒绝。集成测试导致构建失败?拒绝。换句话说,拒绝变更的动作越快速越便宜,给项目带来的好处也越大。问题是,如果流程和代码仓有这么多限制,一个程序员怎么做到更快速地交付呢?如果质量墙已经罩住整个项目,那么如下这些技巧,不管谁用都能受益:

提交更小变更

以退为进

别害怕搞破坏

隔离变更

如果项目和程序员之间存在利益冲突,那就能创造出高质量的产品并迅速发展。项目可以强化质量,而程序员也可以提交代码向前进、快速频繁地完成变更。但不幸的是,大多数项目都与之背道而驰,他们将质量控制权交予程序员,满心期盼程序员们会“不作恶”。而这会导致沮丧、痛苦、对犯错的持久恐惧、长时间的拖延、责备和羞辱。最终,项目及其程序员两败俱伤。

快快建好质量墙吧,它既保护了程序员,也保护了项目。

原文标题:这本书终于有人翻译了!“程序员到底应该为所写软件的质量担负多大责任?”

文章出处:【微信公众号:华为开发者社区】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 程序员
    +关注

    关注

    4

    文章

    945

    浏览量

    29684
  • BUG
    BUG
    +关注

    关注

    0

    文章

    155

    浏览量

    15628

原文标题:这本书终于有人翻译了!“程序员到底应该为所写软件的质量担负多大责任?”

文章出处:【微信号:Huawei_Developer,微信公众号:华为开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    程序员节视频创意大赛,用串口屏赢取千元大奖

    10月24日,程序员专属的节日里,我们盛大开启“程序员节视频创意大赛”特别活动!这不仅是一场视觉的盛宴,更是智慧与创意的璀璨碰撞。我们诚挚邀请每一位程序员及编程爱好者,拿起你的镜头,记录下那些平凡日子中的不凡瞬间,让编程的魅力与
    的头像 发表于 07-08 10:38 72次阅读
    <b class='flag-5'>程序员</b>节视频创意大赛,用串口屏赢取千元大奖

    程序员节视频创意盛宴,邀您共襄盛举!

    10月24日,程序员专属的节日里,我们盛大开启“程序员节视频创意大赛”特别活动!这不仅是一场视觉的盛宴,更是智慧与创意的璀璨碰撞。我们诚挚邀请每一位程序员及编程爱好者,拿起你的镜头,记录下那些平凡日子中的不凡瞬间,让编程的魅力与
    的头像 发表于 07-04 09:00 67次阅读
    <b class='flag-5'>程序员</b>节视频创意盛宴,邀您共襄盛举!

    STM32G0如果只执行写保护编程时,先擦除选项字节,此时读保护字节是FF,那是不是就读保护生效

    如果只执行写保护编程时,先擦除选项字节,此时读保护字节是FF,那是不是就读保护生效程序再修改为A5,会不会就引起FLASH整块擦除?不想
    发表于 05-20 08:17

    适者生存,程序员最终会流向哪……

    程序员没有永远的护城河!!就目前的互联网大环境来看,it行业已经是……
    的头像 发表于 03-11 17:11 284次阅读
    适者生存,<b class='flag-5'>程序员</b>最终会流向哪……

    薪资高、青春饭,是不是程序员=青楼?

    花期太短。技术迭代快,年龄大容易失业。 就这几年的互联网环境而言,不管是前端、Java、Android开发等等行业。已经感受到程序员不是太卷就是工作难找,薪资过低。以前高工现在拿着中低程序员薪资
    发表于 03-06 21:32

    2024程序员的未来方向如何走?还看今朝

    这几年的IT行业想必大家已经感受到了,Android、Java、前端等等程序员都经历大厂……
    的头像 发表于 02-02 09:45 691次阅读
    2024<b class='flag-5'>程序员</b>的未来方向如何走?还看今朝

    功放保护怎么消除:解决方法与预防措施

    功放保护怎么消除:解决方法与预防措施 功放保护是指功放器在工作中受到一些不正常的因素影响,从而触发保护机制,停止输出音频信号。功放器通常会保护
    的头像 发表于 12-29 14:58 5865次阅读

    程序员表白程序

    电子发烧友网站提供《程序员表白程序.rar》资料免费下载
    发表于 11-21 10:41 0次下载
    <b class='flag-5'>程序员</b>表白<b class='flag-5'>程序</b>

    嵌入式程序员应知道的几个基本问题

    电子发烧友网站提供《嵌入式程序员应知道的几个基本问题.pdf》资料免费下载
    发表于 11-20 11:21 0次下载
    嵌入式<b class='flag-5'>程序员</b>应知道的几个基本问题

    STM32用串口下载后,不小心写保护和读保护,如何解锁?

    STM32用串口下载后,不小心写保护和读保护,如何解锁? 在STM32的开发过程中,有些时候可能会不小心开启保护和读
    的头像 发表于 10-29 17:24 4180次阅读

    一文速览!拓维信息@1024程序员节精彩看点

    10月23日,第四届“长沙·中国1024程序员节”在湖南长沙盛大开幕。自2020年首次启动以来,1024程序员节已行至第四届,以独特的IT先锋视角见证新一代信息技术与经济社会发展深度融合的关键过程
    的头像 发表于 10-25 08:15 475次阅读
    一文速览!拓维信息@1024<b class='flag-5'>程序员</b>节精彩看点

    喜迎1024程序员节!祝各位开发者们“码”到“程”功!

    —— “1024程序员节” 。 对于为什么把这个节日定在10月24日,颇有程序员的“思考模式”:2^10=1024,1GB = 1024MB,1MB = 1024KB,1KB = 1024B,于是1024
    的头像 发表于 10-24 20:00 611次阅读
    喜迎1024<b class='flag-5'>程序员</b>节!祝各位开发者们“码”到“程”功!

    今天程序员节长沙出招 全国首个!长沙为程序员打造“1024街”

    命名为“1024街”。 “1024街”定位为全球首个完全展现程序员技术创新和引领行业发展的人文街道,有华为、湘江实验室、北京大学长沙计算与数字经济研究院、中科曙光、长沙知识产权保护中心等多家企业与机构入驻,是名副其实的程序员街。
    的头像 发表于 10-24 14:29 537次阅读

    程序员节 | 今年程序员们都想要的礼物竟然是……

    原文标题:程序员节 | 今年程序员们都想要的礼物竟然是…… 文章出处:【微信公众号:微软科技】欢迎添加关注!文章转载请注明出处。
    的头像 发表于 10-24 10:35 410次阅读
    <b class='flag-5'>程序员</b>节 | 今年<b class='flag-5'>程序员</b>们都想要的礼物竟然是……

    “程”力来袭 2023中国程序员节即将在京开幕

    随着科技的不断进步和经济的全球化,编程已成为当今社会的重要组成部分,在众多行业领域发挥着重要作用,同时促进了社会产业升级和创新突破。程序员通过编程正在深刻影响和改变着千行百业,程序员群体的成长
    的头像 发表于 10-24 10:30 382次阅读
    “程”力来袭 2023中国<b class='flag-5'>程序员</b>节即将在京开幕