你的代码有教育后人的义务与责任

开发 开发工具 后端
Reg Braithwaite先生曾在 文章里谈到如何选择在项目中使用什么样的技术、工具或编程语言。程序员在做这些决定时必须考虑环境背景:我们将和谁一起工作,我们将要做什么,为什么会选择这样的技术路线。

孔子学院

Reg Braithwaite先生曾在 文章里谈到如何选择在项目中使用什么样的技术、工具或编程语言。程序员在做这些决定时必须考虑环境背景:我们将和谁一起工作,我们将要做什么,为什么会选择这样的技术路线。

而我优先考虑的不是当前项目,也不是将和我一起开发的这些人。我优先考虑的是将来的那些我未曾谋面的程序员,那些将会研究我的代码的程序员。
我希望他们不但能修改我的代码或增添功能,而且能从其中学到一些东西,就像是我从现在读到的代码中学到的。

这是一个难以捉摸、很难实现的目标。通过代码传教,你需要把读者带回到当时的环境。如果你使用很老的技术,这反而会带来麻烦。我们必须考虑到所处的编程文化,这是难点。对此我没有建议提供,按你们认为正确的方法做吧。

重要的是你要有愿望去传教,去分享你的知识。如果你可以使用函数式的Javascript技术来条理化你的逻辑,你就有责任这样做。如果你看到一个方法能把一个复杂的Ruby方法变成一个简单算法和数据结构,那么你就一定要这么做。这样做并不是简单的代码更整洁了,更是因为你能让将来的程序员变成一个更好的程序员。

因为这些,我认为,作为程序员关键的一点就是去扩展我们的视野。学习函数式编程,学习各种语言,学习陈述式编程,学习微控制器和界面交互,学习从未听说的所有东西,用编程来教育自己。

英文原文:It is our responsibility to teach

译文连接:http://www.aqee.net/it-is-our-responsibility-to-teach/

责任编辑:林师授 来源: 外刊IT评论
相关推荐

2013-05-17 13:22:17

iOS移动开发代码

2020-07-17 14:44:01

GitHub代码开发者

2021-07-12 07:08:54

责任链模式对象

2018-01-30 09:03:31

2020-04-09 11:00:38

Python编程语言代码

2021-04-27 22:38:41

代码开发前端

2022-07-29 08:40:20

设计模式责任链场景

2009-06-24 08:54:47

Linux开源软件产业

2020-09-14 14:20:41

网络风险漏洞网络攻击

2017-09-11 15:31:53

2011-12-19 09:40:21

程序员

2019-01-15 12:19:25

东软安全

2015-03-18 11:55:41

移动互联网

2019-10-29 14:36:27

代码爬虫程序员

2022-07-08 10:50:52

人工智能思考

2019-03-10 15:30:58

AI在线教育人工智能

2010-08-27 07:54:06

开发高手

2020-10-27 15:52:29

AWS世外教育

2013-03-25 09:41:20

PythonCython

2019-11-26 09:45:27

软件设计设计模式
点赞
收藏

51CTO技术栈公众号