在一个半大的 TD 文件中组织接口

Organize Interfaces in a semi large TD file

我正在清理 XRM 存储库的定义 (https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/xrm) and need some guidelines for how the interfaces in definitions should be structured. (here is a cheatsheet just to get an idea of how Xrm is structure https://drive.google.com/file/d/0B9-OddqJEKamWEs0MV9MMDdsWE0/view)

基本上所有内容都是 Xrm.PageXrm.Utility,但可以更深入(Xrm.Page.ui.formSelectorXrm.Page.ui.navigationXrm.Page.data.process 等)。我相信这些 "namespaces" 中的每一个都应该是它们自己的界面。我的问题是您如何构建代码中的接口?把一切都放在根级别?所以 Xrm.Data(或者可能 XrmPageData)接口是 Xrm.Page.data?这可能会导致命名冲突,但会使一切都易于访问。另一种选择是将它们嵌套在它们所在的位置,因此 Xrm.Page.Data 将存在于 Xrm.Page 模块中(同名,但不是 Xrm.Page 接口)。

目前定义文件正在使用两者,我只是想知道 guidelines/best 做法是什么。

简单的事实是,键入的用户将参考 XRM 文档以获取帮助和示例。从使用的角度来看,最明显的方法是让您的类型定义类似于 API 文档。在这种情况下,这意味着使用您的第二个建议,其中 Xrm.Page.data 变为 data,放置在 Xrm.Page 模块中。