公司的源代码一直管得很严,除了组长,每个人基本只能看到自己负责的部分。我向来都是反对这样严格的代码控制,因为这限制了知识的传播,禁锢了交流的空间。所以公司基本没有学习和交流氛围,大家彼此之间也没有共同话题,除了模块之间接口上的争论不休之外。
正因如此,公司对每个开发人员都很依赖,少了谁都不行,因为他负责的那一块只有他知道。不仅如此,很多模块自从第一次写完之后,就很少再有改进了,更罔谈创新了--因为没有讨论,也没有灵感,也没有了动力。
每每有了新的开发需求,开发人员经常就推辞说这不能,那不行的,没有办法,代码只有他知道,只能他说了算。不仅如此,明明是同样的功能,也会在不同的模块 之间重复的发明。或者这个模块已经实现了,另一个模块却说自己实现了不了。其实他也知道别人已经实现了,但是他拿不到代码,也不好意思去问......
公司的本意是要防止一个人把代码都带走了,另立门户,这是可以理解的,而且这在业界也是常有的事情。但是,如此防范的后果,那就是代码留下了也没有用。因 为,人走后,代码也没有人看得懂了。没有了主人,代码就失去了灵魂,是死代码了。与其为了保持一份无用的代码,还不如趁着还有用的时候,让更多的人了解, 更多的人去改进,使其发挥价值。在这个时代,重要的不是现在有的,而是你在创造的东西。要甩掉竞争对手,不是企盼对手停止不前,而是要以更快的速度向前。
如果每个人都能看到所有的源代码,那么神秘面纱就被揭穿了。这样负责人就没有了固步自封,瞒天过海的理由,他就会有一种了向前的压力了。同样,因为大家的 都知晓了,所以有了讨论的基础,而不至于一个人苦思冥想。大家都知道了,人员流动也不再可怕,因为每个人都可以很快的接手。最后,因为代码是公开的,什么 好的想法都会很快得到传播,坏的做法也很快被大家发现,所以很快大家就得到了进步,整个开发的就会达到一个比较高的水平,而不是参差不齐。
Web技术为什么这么流行和丰富?那都是因为,你可以在页面上右键选择“查看源代码”,别人的什么好想法都全部学会了。就是这样的相互学习,使得Web技 术得到了快速的发展。同样的,开源软件的好处也是,你可以通过代码来了解是其工作原理,并进行模仿和改造!对程序员来说,没有什么别看代码更能快速的学习 的了。
正是从学习和知识分享的角度来说,开源是非常有好处的。
正因如此,公司对每个开发人员都很依赖,少了谁都不行,因为他负责的那一块只有他知道。不仅如此,很多模块自从第一次写完之后,就很少再有改进了,更罔谈创新了--因为没有讨论,也没有灵感,也没有了动力。
每每有了新的开发需求,开发人员经常就推辞说这不能,那不行的,没有办法,代码只有他知道,只能他说了算。不仅如此,明明是同样的功能,也会在不同的模块 之间重复的发明。或者这个模块已经实现了,另一个模块却说自己实现了不了。其实他也知道别人已经实现了,但是他拿不到代码,也不好意思去问......
公司的本意是要防止一个人把代码都带走了,另立门户,这是可以理解的,而且这在业界也是常有的事情。但是,如此防范的后果,那就是代码留下了也没有用。因 为,人走后,代码也没有人看得懂了。没有了主人,代码就失去了灵魂,是死代码了。与其为了保持一份无用的代码,还不如趁着还有用的时候,让更多的人了解, 更多的人去改进,使其发挥价值。在这个时代,重要的不是现在有的,而是你在创造的东西。要甩掉竞争对手,不是企盼对手停止不前,而是要以更快的速度向前。
如果每个人都能看到所有的源代码,那么神秘面纱就被揭穿了。这样负责人就没有了固步自封,瞒天过海的理由,他就会有一种了向前的压力了。同样,因为大家的 都知晓了,所以有了讨论的基础,而不至于一个人苦思冥想。大家都知道了,人员流动也不再可怕,因为每个人都可以很快的接手。最后,因为代码是公开的,什么 好的想法都会很快得到传播,坏的做法也很快被大家发现,所以很快大家就得到了进步,整个开发的就会达到一个比较高的水平,而不是参差不齐。
Web技术为什么这么流行和丰富?那都是因为,你可以在页面上右键选择“查看源代码”,别人的什么好想法都全部学会了。就是这样的相互学习,使得Web技 术得到了快速的发展。同样的,开源软件的好处也是,你可以通过代码来了解是其工作原理,并进行模仿和改造!对程序员来说,没有什么别看代码更能快速的学习 的了。
正是从学习和知识分享的角度来说,开源是非常有好处的。