在一个半大的 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.Page
或 Xrm.Utility
,但可以更深入(Xrm.Page.ui.formSelector
、Xrm.Page.ui.navigation
、Xrm.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
模块中。
我正在清理 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.Page
或 Xrm.Utility
,但可以更深入(Xrm.Page.ui.formSelector
、Xrm.Page.ui.navigation
、Xrm.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
模块中。