代码之家  ›  专栏  ›  技术社区  ›  Arseni Mourzenko

从哪里开始从头构建真正的代码库?

  •  1
  • Arseni Mourzenko  · 技术社区  · 14 年前

    目前,我有一个或多或少有组织的一套项目,我的工作或工作。有些是重构的、文档化的和单元测试的,而有些不是。

    这很难看,因为它需要做额外的工作,记住写了什么和在哪里,以及(可能是最难看的一个)在项目之间复制代码。与其他没有共同代码库的开发人员合作也是一个问题。

    现在,我想创建一个代码库,但我对它一无所知,也从未在任何公司见过一个严肃的代码库。

    那么从哪里开始呢?是否有书籍或在线文档解释如何创建这样的代码库,或者描述一个现有的或虚构的代码库,它是如何工作的,它是如何维护的,等等。?

    3 回复  |  直到 14 年前
        1
  •  0
  •   David Newcomb    14 年前

    我想你指的是可重用的库。这有点依赖于语言,因为带有链接器和编译器的语言会去掉不用于缩小可交付结果的代码,而即时编译或解释的语言则不会这样做,因此加载整个库可能会浪费资源。

    它的长短不一之处在于查看代码,了解通常执行的任务和使用的参数。增加一点变化的空间,并创建一个界面来隐藏所有的功能。正确定义接口是最重要的部分。尽量避免函数调用的集合,而是在一个接口后面创建相关函数,然后在每个操作任务后面创建一个接口—您正在尝试将工作拆分为操作。

    尝试将有关特定作业或任务的所有相关信息分组到接口后面,这样接口就不会相互依赖。

    http://en.wikipedia.org/wiki/Interface_%28computer_science%29#Software_interfaces_in_object_oriented_languages

    http://en.wikipedia.org/wiki/Interface_%28computer_science%29#Programming_against_software_interfaces

        2
  •  0
  •   mcandre    14 年前

    使用版本控制服务,如 Google Code GitHub . 这样您的代码就可以在线备份,如果需要,您可以恢复到旧版本。

        3
  •  0
  •   corsiKa    14 年前

    首先,认识到这是一项重要的工作,需要其他开发人员和管理层的参与。当您重新组织代码库时,您可能需要停止开发新特性,这对于管理来说几乎从来都不是一个选项。甚至对他们提起这件事也可能是坏事。”我们可以把这件事推迟到“重组”之后,然后是“在这件事完成之前我们不能重组”,而大任务和重组都是相互等待的。这是管理特性死锁,很难修复。

    接下来,您需要与您的团队坐下来,确定您的产品是什么,它们是如何构造的,重叠在哪里,以及产品如何从这种重用中获益。您需要仔细检查产品的构建结构,并对其进行重构,以包括您即将构建的commons库