q 项目结构、文件、模块、测试和 github

q project structure, files, modules, testing and github

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

为前缀
\d .mymodule

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

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

.mymodule.myfunction[]

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

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

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

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

下的几个文件夹中有 60 个文件

因此,如果能就如何解决在 github 和 run/developed 上 kxdeveloper 中托管的 q 项目中的 q 文件和模块的问题提供一些意见,我们将不胜感激。

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

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

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

从 command-line/terminal 学习使用 q/kdb。检查现有项目,没有任何依赖 FD 产品的项目。没有真正的系统真正在生产中使用它。

您可以使用任何您喜欢的目录结构。您加载源文件:

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

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