为你的朋友“乌班图”编程

Ubuntu Coding for Your Friends

很常见,我们独立写的代码,这些代码就会折射出我们个人对问题的理解,以及非常个人的解决方案。我们可能是团队的一份子,但我们在团队中也是独立的。这就让我们很容易忘记这些独立编写的代码会被其他人执行、应用、扩展以及依赖。这很容易忽略掉软件创造的社交方面。创建软件是一项技术活动,它与社会活动混合在一起。我们只需要经常抬头去想,我们并不是在独立的工作,我们有责任为每个人而不是开发团队,增加成功的可能性。

你可以独自写出高质量的代码,沉浸在其中。从另一个角度看,这是种以自我为中心的方式(不要把自我当作傲慢,这里的自我是指很个人)。在创造代码的那一刻,那也是种与你相关的禅视角。我喜欢尝试进入这种时刻,它有利于让我更接近于高质量,但在我进入我的时刻之后呢?什么是我团队的时刻?我的时刻就等同于团队的时刻?

在祖鲁语中,“乌班图”(Ubuntu)的理念被概括为“乌木图 咕木图 噶班图”,大致翻译为:“一个人就是一个通向他人的人”。我变得更好,是因为你的行为让我变得更好。反过来说,当我做的更糟的时候你就会做的更糟。对开发者而言,我们可以缩小范围:“一个开发者是一个通向其他开发者的开发者”。如果进一步缩小范围:“代码是通向其它代码的代码”。

我编写的高质量代码将影响你写的代码质量。如果我写的代码很烂会如何?哪怕是你写的代码非常干净,在这个地方你用了我的代码,那你的代码质量也会降低到接近我的代码质量。你可以采用很多模式或技术手段来限制这种损害,可损害已经发生了。因为我的关系,你要做的会比原本需要的更多,只是简单地因为我沉浸在自己的时刻,完全没有考虑你。

我可能会想方设法让我的代码干净,但我也可以通过Ubuntu编程使它更好。Ubuntu代码看起来像什么?看起来更像是好的、干净的代码。它与代码无关,与作品无关。它和创造作品的行为有关。为了你的朋友,Ubuntu编程吧,将帮助你的团队实现你的价值,巩固你的原则。下一个人接触你代码的人,不论用什么方式,他都将成为更好的人和更好的开发者。

禅是关于个体的。Ubuntu是关于团体中每个人的禅。我们很少很少,就为自己编写代码。

0%