文/庄表伟
华为公司内源社区平台架构师;开源社理事
1997 年毕业于华东师范大学,曾任盛大创新院的高级研究员、印客网的技术总监。多年来一直在编程的第一线,并以 Coding 为最大的乐趣。著有一本电子书《开源思索集》,在豆瓣、简书、亚马逊、多看阅读等平台均可以直接下载。目前专注于华为内源社区的建设。
解题
为何要聊“代码提交”这么小的一件事情?随着团队人数越来越多,提交代码这件事,变得复杂起来。甚至极端一点说,任何复杂度的软件项目,也无非是要管好两件事情:需求和代码。
顺着这条线索,我们可以观察到一种螺旋上升的现象:
-
需求越来越多、越来越复杂;
-
代码越来越多、越来越复杂;
-
添加更多的人手开发软件;
-
更多的人手会犯下更多的错误;
-
选择制定某种管理规范;
-
通过工具执行某种规范;
-
围绕一组工具的特性,形成某种工具与管理的共生平衡;
需求再次爆炸……
从个体户到小团队、从小团队到大兵团,需求的数量、人员的数量、代码的数量,都会有百倍、千倍甚至更加惊人的增长。在这种变化的过程中,不仅仅是人数需要增加,相应的工具、以及管理流程,也要发生变化。
本文主要探讨:如何管好代码这件事情,这篇文章不会介绍基础知识,而仅仅是一种逻辑上的梳理。关于:代码提交、代码管理、团队管理、研发质量管理等等内容。
个体户的幸福生活
在单枪匹马干活的日子里,很多事情都相当简单。甚至,在当年我们都不知道什么叫版本管理。我们在自己的机器上写代码,当然也在自己的机器上完成编译,然后自己试用一下,算是“测试”。
如果是服务器端的开发,我们就直接登录到服务器上,打开 vim,直接写代码,写完了保存就 OK。
当年我还在写 PHP 程序的时候,最喜欢的编辑器是 EditPlus,因为它支持 FTP 链接到服务器,直接就能修改服务器上的文件,Ctrl+S 以后,再刷一下浏览器,结果就出来了。
这样的开发习惯,当我成为 Java 程序员的时候,也影响到了我的技术选型。我最喜欢的 java web server 是 resin。最大的一个原因是:使用 resin 的服务,修改 java 代码,也不必编译、然后再重启服务。