程序原本(八十):应用开发基础——应用程序设计语言的复杂性(应用程序设计语言:缺乏真正的“产品版本”观念的语言是不成熟的)

阅读数:27 2019 年 10 月 3 日 14:36

程序原本(八十):应用开发基础——应用程序设计语言的复杂性(应用程序设计语言:缺乏真正的“产品版本”观念的语言是不成熟的)

通过应用开发来“交付一个版本”,只是产品过程中的一个环节。只有当“产品”本身就是源代码包的时候,这个产品过程才变得跟开发人员息息相关,例如开发人员将 GitHub 或 ClearCase 视为版本管理工具,并将其上的某一个分支或基线作为一个“版本”。

然而从产品过程的全程来看,一个“版本”包含的内容更为丰富,上述“(开发人员所理解的)版本管理”只是产品过程的需求在开发环节的一个投射而已。总的来说,产品过程是一个工程问题,而非一个开发环节的技术与工具问题。它的部分问题集,被开发商置入了集成开发工具,并交付给开发人员使用。这个“部分问题集”实际上包括需求的变化以及与此相关的、变化的实现过程,而这是目前对于这一问题的“几乎全部”理解。

然而事实上这并不完整。例如我们的集成开发工具以 Project 或 ProjectGroup 为关键词来管理一个项目,但在产品过程中却是一个 Product,或一个 ProductLine。这一抽象概念上的差别带来了极大的思维空间,即开发人员是否应当基于 Product/ProductLine 来组织开发活动并进行所谓的“版本管理”?换言之,在 IDE 中是否应该出现比 Project/ProjectGroup 更高层次的组织行为,以及相应的、代码中的关键字?

事实上,加入了 CompanyName、ProductName 的名字空间就已经有了类似的性质。然而这一切,与在 IDE 中对产品过程加以映射、组织、管理与维护还有相当大的距离。

评论

发布