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

oschina
 oschina
发布于 2013年05月16日
收藏 35

世界童军运动(Scout Movement)的口号“留下一个比你现在看到的更好的世界”完美的适用软件开发活动。通常它是用来鼓励程序员将以前的程序员留下的烂摊子清理干净,但这个道理是双向适用的。所有的软件开发人员都有责任为以后的程序员留下一个更适合他们工作的代码环境。我们有责任去教育他们,即使我们可能永远不会和这些学生见面。

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

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

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

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

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

[英文原文: It is our responsibility to teach ]
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:你的代码有教育后人的义务与责任
加载中

最新评论(21

七液
七液

引用来自“loyal”的评论

扯淡

随便修改代码和篡改历史教科书一样?
Glitter
Glitter
责任!义务!
E-leven11
E-leven11
我的代码有教育后人的义务与责任
赵云30
赵云30

引用来自“一刀”的评论

引用来自“lazyou”的评论

我的代码是后人的反面教材

希望有教材能把我的代码引进去当反面教程。也不错嘛。

有道理,我的程序估计连反面教材都看不上,哈哈。
紫电清霜
紫电清霜

引用来自“李马燕”的评论

让我想到一个网站的注释<!-- 别来这公司 -->

哈哈~
slowrookie
slowrookie
反省反省
帖子列表
帖子列表
让我想到一个网站的注释<!-- 别来这公司 -->
梅开源
梅开源
梅开源现在1岁半不到,我还有几年的时间去准备教材
可豆儿
Le_Guto
Le_Guto
后人已经没扼杀,没的教育了-
返回顶部
顶部