【问题标题】:How To Share Code W/ Other Devs? (And naming) [closed]如何与/其他开发人员共享代码? (和命名)[关闭]
【发布时间】:2018-04-17 19:44:09
【问题描述】:

tl;dr 我的代码我认为其他人会觉得有用,但不知道如何将其打包以供其他人包含在他们的项目中并轻松修改。

我是 C++ 新手,并创建了一种算法来有效(足够)为机器人解决路径。该算法在一组点(“节点”)内创建可能的最长路径,两个限制是节点只能单次访问,​​并且下一个节点必须在当前节点的 X 距离内。

在“完成”机器人(学习练习)之后,我决定从机器人中移除寻路算法并将其打包为更通用且更易于理解的 sn-p 以托管在 GitHub 上供其他人使用是有意义的.

我很难找到有关如何最好地构建我的“库”的信息 - 可能是因为如果我更熟悉 C++,这真的很明显。我不希望它像 OpenCV 一样,它是一个 DLL,而我唯一的另一个示例是 .hpp JSON 库 + Google 样式指南中的信息。

我不确定将我的代码分发为 Header(带有概述 + 使用文档)和 CPP(带有更具体的 cmets)文件是否会产生我想要的结果 - 这是 JSON .hpp 工作流程 - 我只是必须下载文件#include JSON.hpp,然后我才能调用它的方法。


Google 的样式指南适用于一个大型项目 - 而不是单个分布式文件 - 所以也许我应该将 GitHub/“官方名称”命名为具有描述性的名称,但将命名空间/项目命名为“SVNL”?

单次访问节点链接器

在单个节点之间的距离内移动的最大节点的单次访问节点路径

访问在单个节点之间的距离内最大化节点链接器

【问题讨论】:

  • 算法是一个旅行推销员问题。看看这个。 parano.github.io/GeneticAlgorithm-TSP 分享...创建一个 github 帐户并将 repo 发布到那里,它将演变成可以分享的东西...
  • 您可以查看现有项目。问题是没有标准的方法来分发或打包 c++ 库,所以你应该自己弄清楚。除了库文件本身之外,您的 repo 还应该包含一些测试、一些示例代码和一些关于它的自述文件。
  • 另外,the Google style guide if for people who have to use it,不适合有选择的人。
  • @VTT 什么样的测试?像标准单元测试还是?我不熟悉 TDD。

标签: c++ algorithm path-finding


【解决方案1】:

没有分发 C++ 代码的标准方法,但分发像您这样的小型库的最简单方法是将其包装在一个短命名空间中并将其发布到 GitHub/GitLab/BitBucket/etc。

我会确保包含一个自述文件,解释项目是什么、如何使用它以及如何构建它。编写构建脚本并将其包含在存储库中的奖励积分。

【讨论】:

  • 与其他语言相反,包管理对于 C/C++ 来说并不是那么简单。虽然有一个包管理器,但仍处于初级阶段,称为柯南......值得一试。
猜你喜欢
  • 2018-07-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-11
  • 1970-01-01
  • 2011-04-09
  • 2021-11-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多