Module 02: cover the underscore-prefix 'private/internal' convention
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-2 天
- 新手友好度
- 88/100
- Issue 类型
- 文档
- 描述清晰度
- 描述清楚
- 活跃度
- 冷清
- 技术栈
- python
调研方向
从 02_function_classes.qmd 的命名约定部分附近开始,检查现有的 mikeio.pfs._pfssection.PfsSection 示例。添加关于下划线前缀、all、重新导出和双下划线的指导,然后更新 07_packaging.qmd 中的 Breaking changes 幻灯片,加入关于公共 API 的限定说明和交叉引用。完成的标准是两个模块都清楚地将内部名称约定与版本管理联系起来。
由索引模型根据 Issue 内容生成。
描述
Module 02 (02_function_classes.qmd) teaches Python naming conventions but does not cover the leading-underscore convention for internal/private names. This came up in practice: a user upgraded a dependency, found that several _-prefixed functions had been removed, and was upset — not realising those were never part of the public API.
The breaking-changes slide in 07_packaging.qmd (Removing a function / Renaming / Changing signature → bump major) is the counterpart to this: removing a _private function is not a breaking change. Worth a forward reference between the two modules.
Suggested content for module 02
Add a slide near the existing naming-conventions section (around 02_function_classes.qmd:802) covering:
_foosignals internal — not part of the public API- Consumers who import underscore-prefixed names do so at their own risk
- Maintainers may change/remove them without bumping the major version
__all__in__init__.pyto declare the public surface- Re-exporting internals into the package namespace (the existing
mikeio.pfs._pfssection.PfsSectionexample at02_function_classes.qmd:795is a natural lead-in) - Double-underscore (
__name) name mangling is a separate thing — mention briefly to avoid confusion
Cross-reference
Update the "Breaking changes" slide in 07_packaging.qmd to note that the rules apply to the public API only, with a pointer back to module 02.
See PEP 8 — Naming Conventions / Public and internal interfaces.
- 主要语言
- Jupyter Notebook
- 星标
- 8
- 派生
- 1
- 平均合并
- 4 分钟
- 30 天内合并 PR
- 1
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
DHI/python-package-development 的其他 Issue
-
难度 2/5 1-2 天 新手友好度 72/100
DHI/python-package-development#37 · 1 条评论 ·
-
难度 5/5 一周以上 新手友好度 35/100
-
难度 3/5 1-2 天 新手友好度 48/100
-
难度 2/5 1-3 小时 新手友好度 48/100
-
难度 3/5 1-2 天 新手友好度 48/100
查看 DHI/python-package-development 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
palladius/rails8-app-on-gcp#145 ·
-
NeedsTriage
难度 1/5 1 小时以内 新手友好度 90/100
-
error 未关闭
难度 1/5 1 小时以内 新手友好度 85/100
-
难度 1/5 1 小时以内 新手友好度 85/100
-
textual definition
难度 1/5 1 小时以内 新手友好度 90/100
geneontology/go-ontology#32653 ·