写点什么

无我编程的十条戒律

  • 2017-06-11
  • 本文字数:1202 字

    阅读完需:约 4 分钟

“无我编程”发生在开发阶段,表现为技术团队经常通过同级评审的方式来发现软件中的缺陷。目的是让所有人(包括作者)都参与寻找缺陷,而不是证明软件产品里没有缺陷。人们会交换各自手上的代码,相互进行评审,并且大家都有这样的共识:代码的原始作者会犯错误,而作为评审者,他们会找出这些错误。最后的结果是,每个人都从自己的错误以及别人的错误里有所长进。这就是“无我编程”的由来。

无我编程的十条戒律,最早出现在由 Gerald Weinberg 于 1971 年出版的经典著作《程序开发心理学》里。Stack Overflow 网站的联合创始人 Jeff Atwood 在博客上再次列出了这十条戒律。要知道,在这本著作出版的时候,Jeff 才一岁。虽然已经过去了几十年,但这些原则并没有被时间侵蚀,仍然值得每一位程序员拜读。

  1. 接受自己会犯错的事实。关键是要在错误进入到生产环境之前把它们找出来。所幸的是,除了小部分在喷气推进实验室里开发火箭制导系统的程序员,大部分错误都不会造成致命的后果。所以,我们一定能够而且也应该要学会嫣然一笑,然后继续。
  2. 不要使用代码来针对个人。要记住,代码评审的目的是为了找出问题,而且总归会找到问题。如果真的找到了问题,请不要把它作为针对个人的借口。
  3. 不管你知道多少“秘籍”,总有人比你知道得更多。如果你开口,他们就会教你更多的东西。在你认为没有必要的时候,学会接受他人的建议。
  4. 不要不经讨论地重写代码。“修复代码”与“重写代码”是有明显的区别的。了解这些区别,并在代码评审的框架之内进行程式化的变更,而不是单独作战。
  5. 尊重比你懂得少的人,并对他们抱以耐心。与技术人员打交道的非技术人员认为技术人员要么是妄自尊大的讨厌鬼,要么是爱撂挑子的倔驴。所以,我们不要用我们的愤怒和不耐烦去加深他们对我们的这种印象。
  6. 这个世界唯一不变的就是变化。敞开胸怀,面带微笑地去拥抱变化。把每一个需求变更、平台变更或工具变更都看成是一个新的挑战,而不是令人厌恶的麻烦。
  7. 真正的权威来自于知识,而不是职位。知识造就了权威,而权威会迎来尊重。如果你想要在一个无我的环境里得到尊重,那么充实你的知识吧。
  8. 坚定你的立场,优雅地接受挑战。要知道,你的想法有时候会遭到反对。你可以证明自己是对的,但不要试图报复,不要总是叫嚷着“我早就说过”,不要把被否定的想法看成是一个牺牲品或者某种战斗口号。
  9. 不要成为“小黑屋里的人”。不要躲在小黑屋里写代码,就算偶尔露个面,也只是为了买一杯可乐。躲在小黑屋里只会让你与其他人失去联系,淡出他们的视野,失去控制。在一个开放的协作环境里,你会找不到自己的位置。
  10. 批评代码,而不是人。对人好一点,而不是代码。让你所有的评审为代码带来积极的改进,把你的评审与局部标准、程序规范和更好的性能结合在一起。

感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-06-11 19:003877
用户头像

发布了 322 篇内容, 共 142.8 次阅读, 收获喜欢 147 次。

关注

评论

发布
暂无评论
发现更多内容

VMware Fusion Pro 13 for Mac(VM虚拟机)中文破解版

iMac小白

基于BiLSTM-CRF模型的分词、词性标注、信息抽取任务的详解,侧重模型推导细化以及LAC分词实践

汀丶人工智能

自然语言处理 nlp 信息抽取 词性标注 分词算法

DR5插件加强版 for Mac(ps磨皮滤镜) v5.0中文版

iMac小白

削峰有高招!评价QPS降低85%的背后逻辑-京东零售技术实践

京东零售技术

前端 移动开发 大促 黄金流程

淘宝/天猫商品详情API:返回值参数详解及商业逻辑实现

Noah

推动海外云手机发展的几个因素

Ogcloud

云手机 海外云手机 云手机海外版 国外云手机

怎么用ETL工具实现MQ消息同步

RestCloud

MQ ETL 数据集成工具

网络安全训练营第 0 期 -- 毕业总结

楷鹏:)

Flicker Free for mac(专业AE视频去闪烁插件)兼容Big Sur v1.1.8激活版

iMac小白

行业知识图谱是什么

悦数图数据库

知识图谱

使用SD-WAN进行企业网络升级的必要性

Ogcloud

SD-WAN SD-WAN组网 SD-WAN服务商

PS滤镜插件套装 Nik Collection 6 for Mac v6.1.0中文激活版下载

iMac小白

行业首家!TCL实业通过国家大模型算法备案

Geek_2d6073

代码验证斯特林公式的准确性

fliter

Vector Magic for mac(矢量图片转换工具) 1.2.0免激活版

iMac小白

耗时一个月我问遍了身边的大佬,零基础自学Java的路线,适用程序员入门&进阶,Java学习路线,2024新版

小明Java问道之路

Proxyman Mac电脑最新破解激活(HTTP调试网络代理工具)

iMac小白

Real Glow for mac( AE真实发光效果模拟插件) v1.0.0汉化版

iMac小白

Real Glow for mac( AE真实发光效果模拟插件) v1.0.0汉化版

iMac小白

面试官:如何防止短信盗刷和短信轰炸?

王磊

Java 面试

聚道云软件连接器助力餐饮企业实现数字化管理

聚道云软件连接器

案例分享

华为视频走近《鲁豫有约一日行》,看技术如何赋能艺术创作

最新动态

@所有人 您需要的 幻兽帕鲁服务器搭建教程 已上线

六月的雨在InfoQ

阿里云 ECS 计算巢 幻兽帕鲁

LoRA:语言模型微调的计算资源优化策略

Baihai IDP

人工智能 深度学习 程序员 AI LLM

Gas Hero Coupon NFT 概览与数据分析

Footprint Analytics

区块链 加密货币 NFT

MySQL常用图形管理工具

小魏写代码

Mac苹果电脑照片管理必备软件:Lightroom Classic 2022 for Mac最新激活版(LrC中文破解)

iMac小白

mac电池最大充电限制工具AlDente Pro for Mac v1.22.2激活版下载

iMac小白

安全SCDN可以应对攻击吗

德迅云安全杨德俊

如何在春节实现弯道超车,你知道吗?

测吧(北京)科技有限公司

测试

阿里巴巴商品详情数据接口Python

tbapi

阿里巴巴 阿里巴巴API接口 阿里巴巴商品详情接口

无我编程的十条戒律_语言 & 开发_薛命灯_InfoQ精选文章