今天有幸听到了Nicholas McGuire关于cofiguration management 的课。
简单介绍一下Nicholas,他是德国人,会说德语和英语,是RTLinux的内核代码管理员之一,整个人的感觉很质朴。
大概会有一周左右的教学课,他也希望通过这样的课程让我们意识到configuration management 重要性。以前也总讲团队合作,但软件工程方面的合作不只是代码风格还有些整体的东西。比如一个项目下的目录要怎么设置才能方便所有小组成员查看修改等等,新建文件或者目录又需要遵守什么规则。这两个问题看似容易,其实不然。在linux中,如果安装了Git,它的介绍是:the stupid content tracker。所谓团队合作的核心也就在这里了,每个人对项目的更改应该是可追踪的,需要知道是谁(who/author),在什么时间(date),做了哪些改动(what change),而且应该有个简单的描述(commit)。此外,项目必须要有备份以防出现灾难性后果,比如当某个人的电脑不幸被雷劈的时候,如果使用Git,每个小组成员的文档都会成为他的备份。
这才是团队合作,遵守规则、协作完成。