【问题标题】:q project structure, files, modules, testing and githubq 项目结构、文件、模块、测试和github
【发布时间】:2021-02-12 11:16:41
【问题描述】:

我创建了一个包含 2 个文件夹 src/test/ 的项目。 src/ 目录为每个模块包含 1 个文件,给定文件中的所有函数都以

为前缀
\d .mymodule

test/ 目录包含一些使用 QCumber 框架的测试

我的问题是,当我想调用我的函数之一时,无论是从 quke 测试还是从暂存器,即使完全合格,该过程也找不到我的函数:

.mymodule.myfunction[]

我必须从我的 .q 文件中生成模块(在 kx 开发人员个人版中:右键单击/新建/来自 Q 文件的模块),然后就可以了。但这非常麻烦,因为每次更新文件中的源代码时,我都需要删除/重新创建模块。

#1 我的第一个问题是:如何让 q 解释器在 .q 文件中找到我的函数,并避免生成模块

#2 我的第二个问题是:我应该完全忘记拥有 .q 文件而只使用模块吗?

我不太喜欢它,因为我喜欢将小函数分组到一个文件中。将模块推送到 github 也会创建不同的文件夹组织。基本上,我在src/ 目录中没有 5 个文件,而是在/kxscm/module/.mymodule/qfn 下的几个文件夹中得到了 60 个文件

因此,如果您能就如何解决在 github 上托管并在 kxdeveloper 中运行/开发的 q 项目中的 q 文件和模块的问题获得一些意见,我们将不胜感激。

【问题讨论】:

    标签: kdb


    【解决方案1】:

    几个月前我快速浏览了 KX 开发人员。

    我从那里收集到的是,对于常规的 KDB 开发,它并不是最好的。这些模块不直观,正如您所说,当您尝试在 KX 开发人员以外的任何其他地方使用它们时会导致问题。可能有解决方案,最快的响应可能是直接向 KX 发送消息并询问他们的意见。

    如果您尝试将 KX developer 与 GitHub 一起使用,那么将仅将 KX developer 用于签入和版本控制,而不是实际开发。否则,我会避开它。将其视为 Apple 产品,如果您使用的所有技术都是 Apple,它会更好地工作。

    【讨论】:

      【解决方案2】:

      从命令行/终端学习使用 q/kdb。检查现有项目,没有任何东西依赖 FD 产品。没有真正的系统真正在生产中使用它。

      您可以使用任何您想要的目录结构。你加载你的源文件:

      \l path/to/your/code.q
      \l path/to/different/library.q
      

      system "l /some/directory/file.q"
      

      【讨论】:

      • 感谢您的回答。那么在接近 Kx 并且缺乏解决方案之后,我想你实际上有正确的答案。
      猜你喜欢
      • 2020-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-22
      • 2013-02-13
      • 2019-03-14
      • 2022-08-05
      • 1970-01-01
      相关资源
      最近更新 更多