StackOverflow 创始人关于如何高效编程的清单.md

codexs 2020-06-01 原文

StackOverflow 创始人关于如何高效编程的清单

这是 StackOverflow 联合创始人 Jeff Atwood 注释的十戒。程序员普遍有很强的自尊心,都应该看看本文,打印下来时刻提醒自己。

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

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

1. 接受自己会犯错的事实

关键是要在错误进入到生产环境之前把它们找出来。所幸的是,除了小部分在喷气推进实验室里开发火箭制导系统的程序员,大部分错误都不会造成致命的后果。所以,我们一定能够而且也应该要学会嫣然一笑,然后继续。

2. 不要使用代码来针对个人

要记住,代码评审的目的是为了找出问题,而且总归会找到问题。如果真的找到了问题,请不要把它作为针对个人的借口。

3. 不管你知道多少“秘籍”,总有人比你知道得更多

如果你开口,他们就会教你更多的东西。在你认为没有必要的时候,学会接受他人的建议。

4. 不要不经讨论地重写代码

“修复代码”与“重写代码”是有明显的区别的。了解这些区别,并在代码评审的框架之内进行程式化的变更,而不是单独作战。

5. 尊重比你懂得少的人,并对他们抱以耐心

与技术人员打交道的非技术人员认为技术人员要么是妄自尊大的讨厌鬼,要么是爱撂挑子的倔驴。所以,我们不要用我们的愤怒和不耐烦去加深他们对我们的这种印象。

公众号逆锋起笔专注分享JavaPython、前端、个人成长、职业发展干货,关注即送小编整理的精品编程视频教程;每天下午 14:40 精彩推送,每个程序员值得关注的技术平台。

6. 这个世界唯一不变的就是变化

敞开胸怀,面带微笑地去拥抱变化。把每一个需求变更、平台变更或工具变更都看成是一个新的挑战,而不是令人厌恶的麻烦。

7. 真正的权威来自于知识,而不是职位

知识造就了权威,而权威会迎来尊重。如果你想要在一个无我的环境里得到尊重,那么充实你的知识吧。

8. 坚定你的立场,优雅地接受挑战

要知道,你的想法有时候会遭到反对。你可以证明自己是对的,但不要试图报复,不要总是叫嚷着“我早就说过”,不要被否定的想法看成是一个牺牲品或者某种战斗口号。

9. 不要成为“小黑屋里的人”

不要躲在小黑屋里写代码,就算偶尔露个面,也只是为了买一杯可乐。躲在小黑屋里只会让你与其他人失去联系,淡出他们的视野,失去控制。在一个开放的协作环境里,你会找不到自己的位置。

10. 批评代码,而不是人

对人好一点,而不是代码。让你所有的评审为代码带来积极的改进,把你的评审与局部标准、程序规范和更好的性能结合在一起。

策划:Jeff Atwood
编辑:薛命灯

公众号逆锋起笔专注分享JavaPython、前端、个人成长、职业发展干货,关注即送小编整理的精品编程视频教程;每天下午 14:40 精彩推送,每个程序员值得关注的技术平台。

发表于
2020-06-01 20:42 
逆锋起笔 
阅读(
评论(
编辑 
收藏

 

版权声明:本文为codexs原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/codexs/p/13027356.html

StackOverflow 创始人关于如何高效编程的清单.md的更多相关文章

  1. 技术最好的工程师为什么当不了首席?

    又到了金三银四的招聘季,公司的管理者都在思考:在现在的市场环境下,到底应该为自己的公司注入怎样的新鲜血液来维持 […]...

  2. 满屏的try-catch,不瘆得慌?

    持续原创输出,点击上方蓝字关注我 目录 前言 Spring Boot 版本 全局统一异常处理的前世今生 Spr […]...

  3. 函数式编程:如何高效简洁地对数据查询与变换

    摘要:一提到编程范式,很容易联想到宗教的虔诚,每种宗教所表达信条都有一定合理性,但如果一直只遵循一种教条,可能 […]...

  4. 在 JavaScript 中,我们能为原始类型添加一个属性或方法吗?

    原始类型的方法 JavaScript 允许我们像使用对象一样使用原始类型(字符串,数字等)。JavaScrip […]...

  5. 数据库和AI的一次火花

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由宗文 发表于云+社区专栏 | 导语 通过历史 […]...

  6. 一名合格的程序员应该是什么样子

    6 月 25 号,母亲打来电话,说妹妹的高考成绩离二本线差 9 分。我听完随口扔了一句,“在我的意料之中。”因 […]...

  7. 扒一扒ELF文件

    ELF文件(Executable Linkable Format)是一种文件存储格式。Linux下的目标文件和 […]...

  8. 这些代码注释,已经超越了大神级别了

    这些代码注释,已经超越了大神级别了 程序员个个身手不凡,经常会见到一些神级般的操作,比如评论区爆笑、社区神评、 […]...

随机推荐

  1. XMind 6 如何画流程图

    在使用思维导图软件制作流程图的时候,怎样的流程图才能算作好的流程图呢?好的流程图能够清晰的表达出思维导图的内容 […]...

  2. iframe框架

    写在body里面的,html5的,要考虑兼容性问题这个嘛,在引入之后(可以引入本地或者互联网上的链接,)会显示一个页面,这个还是蛮有趣的,之前没有接触过...

  3. MyEclipse使用总结——MyEclipse10安装SVN插件 MyEclipse使用总结——MyEclipse10安装SVN插件

    一、下载SVN插件subclipse 下载地址:http://subclipse.tigris.org/ser […]...

  4. linux 安装nginx 详解

    1 nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环 […]...

  5. 人脸识别完整项目实战(1):目录大纲篇

    本文是《人脸识别完整项目实战》系列博文第1章《目录大纲篇》,本章内容系统介绍,《人脸识别项目完整实战》系列博文 […]...

  6. 全球黑客大赛在温哥华拉开帷幕 Vista、Linux和Mac谁最安全 今日分晓

    全球黑客领域一项顶级赛事周三在加拿大温哥华拉开了帷幕,该比赛由CanSecWest安全会议进行组织.主办方提供 […]...

  7. Spring Security 入门原理及实战

    在web应用开发中,安全无疑是十分重要的,选择Spring Security来保护web应用是一个非常好的选择 […]...

  8. github搭建个人网站

            如果只是搭建个人网站,非常没必要自己另购VPS。这里提供一个性价比最高的方案–gi […]...

展开目录

目录导航