Search 可重用代码/类存储库

Search 可重用代码/类存储库,search,development-environment,repository,code-reuse,Search,Development Environment,Repository,Code Reuse,我有几个包含函数、类和模板的模块,它们保存在一个名为(哈!)‘重用’的目录中。我对内容相当了解,因此查找特定的类或代码位不会花费太长时间,但它的大小正在缓慢增长,我需要一些合理的方法来存储它们,以便于搜索和检索 我该怎么做 相关问题可在此处找到: 按使用领域(网络、安全、文本处理等)对来源进行分组;最佳目录,便于浏览 通过在源文档中添加关键字来标记功能。使用适当的注释标记系统(如javadoc)并创建某种可索引的文档 在你的资源上使用某种全文搜索(grep-r,谷歌桌面) 您可以在目录中划分所

我有几个包含函数、类和模板的模块,它们保存在一个名为(哈!)‘重用’的目录中。我对内容相当了解,因此查找特定的类或代码位不会花费太长时间,但它的大小正在缓慢增长,我需要一些合理的方法来存储它们,以便于搜索和检索

我该怎么做


相关问题可在此处找到:

  • 使用领域(网络、安全、文本处理等)对来源进行分组;最佳目录,便于浏览
  • 通过在源文档中添加关键字来标记功能。使用适当的注释标记系统(如javadoc)并创建某种可索引的文档
  • 在你的资源上使用某种全文搜索(grep-r,谷歌桌面)

您可以在目录中划分所有类

用什么语言回答这个问题?因为.Net可以有一个类似DLL的库,用名称空间分割

  • 按函数将函数/类/模板分组到模块/目录中。假装你将把它们作为开源库发布;考虑一下如何让别人的代码组织起来。最终,它将是别人的代码:你,一两年前
  • 使用文档系统。Doxygen将为您生成一个方便的HTML代码浏览器

  • 通常,我根据文件的一般用途对文件进行分组

    例: 重用\数据库 重用\图形 重用\数学 重用\Etc

    然后,您可以将组分组

    重用\Graphics\2D 重用\Graphics\3D


    HTH

    取决于系统,但当可重用的数量达到某个阈值时,我倾向于尝试将其中的逻辑块转换为“真正的”库,就像您从第三方(文档等)使用一样,并将它们放入各自的库路径中,以便它们真正可重用

    如果您不介意在某些OSS许可下提供它们,您甚至可以将它们放入CPAN/PyPI/PEAR中,相当于您正在使用的任何环境。这增加了更多的可重用性


    我想重要的部分仍然是将代码捆绑到真正的库中。那么检索部分应该会容易得多,因为大部分是自动的。

    不久前对此进行了讨论。代码的标准文件夹化有利于可读性和组织性,但当您只想抓取东西时,另一种方法是以某种方式使用标记(如向文件名或其他元数据添加标记)。标签在文件夹中很有用,因为你可以快速地挖掘特定或一般的东西,而在文件夹中你需要通过树挖掘来获得特定的东西

    标签:O(n)。文件夹:O(n^2)


    也许吧P

    根据语言(细分为函数)进行折叠,带有标签,在VCS的d目录中,带有Doxygen/Perldoc/*Pod/*-提取的文档。您将拥有一个可立即移植到您的工作中的可重用模块/文档的轻松归档。

    问题涵盖了几乎相同的基础&我将以有利于它的方式结束这个问题。

    我已经将可重用功能放入了库中:这些函数/类/模板模块的问题是,它们需要进行一些小的调整以准备好使用它们。这将很难,导致复杂性和膨胀,以推广所有可能的用途。我已经使用了一种带有前缀的文件名分组形式,并或多或少地按照您的建议进行搜索。我还没有为它们编制索引,但标记的想法听起来似乎是合理的:一种超链接的文档,允许我打开/浏览模块?这取决于您使用的语言。有Sandcastle for C#创建CHM文件,javadoc for java创建一堆HTML。大多数语言都有这样的文档系统。可能是@bažmegakapa的副本:同意-我甚至没有意识到这一点,投票决定关闭。请将您的问题标记为副本,而不是添加链接作为答案。