2.3 KiB
EX-02 为 use 编写可独立查询的参考
读者目标:写出完整引用,并区分当前归属与引用来源。依据是当前 guide/04-program-structure.md 和规范状态。
原稿
以下是故意包含错误的反例:
use alice.shop.ui::{Column, Text}
导入后就能直接调用所有组件了。
这段同时混淆 key 分隔符、选择性导入、官方组件归属和名称可见性。仅把点号改成冒号仍不能修复其余断言。
写作判断
先确定 use 的职责:指定依赖 namespace。选择已经用于用户逻辑的 pricing 例子,交代使用方的外部归属。把官方组件引用、权限、别名和冲突等不同问题分开说明。
采用 DOC-008、009、012、013、015。成稿不需要返回类型表;它需要结构、上下文和引用效果。
成稿示范
use 声明
use 指定当前代码依赖的 namespace。它引用一个完整 namespace key。
代码归属:bob:shop.checkout。以下是该代码视图中的导入声明:
use alice:shop.pricing
| 部分 | 含义 |
|---|---|
alice |
依赖来源的用户名 |
: |
用户名与 namespace 路径的分隔符 |
shop.pricing |
namespace 路径,点号分隔层级 |
该声明引用 alice 的定价 namespace。当前代码仍属于 bob:shop.checkout;引用目标不会改变自身归属。
每个 use 引用一个 namespace,不附加类名、函数名或选择性名称列表。引用用于指定依赖来源,不会自动执行其中的函数,也不构成访问授权。
导入后的名称使用还受可见性与名称查找规则约束。当前跨 namespace 调用例子采用目标声明可见、无名称冲突的条件;别名、限定名和同名冲突规则仍列在规范状态的“引用与代码视图”中。
必须保留的区别
“完整 namespace 引用”不意味着“所有成员都自动可见”。官方 UI 组件来源尚未定义,也不能因为例子需要显示界面就将 Column 或 Text 放到 alice 的库名下。
验收
读者可回答三件事:key 如何分解;当前代码属于谁;导入是否授予访问权。源码形状可由现有检查工具辅助检查,归属、授权和可见性说明需人工核对。