File tree Expand file tree Collapse file tree 1 file changed +12
-0
lines changed
Expand file tree Collapse file tree 1 file changed +12
-0
lines changed Original file line number Diff line number Diff line change 3939
4040[ @DylanYang ] ( https://github.com/Dylan19Yang ) :作者向我们介绍了如何在调试 AASA(apple-app-site-association) 相关能力时,通过开发者模式使域名相关的改动可以即时的被同步到。开发者模式需要我们在对应域名上加上特定后缀,并且只对开发模式的签名文件生效。有调试相关能力需求的开发者可以参考一下。
4141
42+ ### 🐢 [ Command Line Interface Guidelines] ( https://clig.dev/ )
43+
44+ [ @zhangferry ] ( zhangferry.com ) :这篇文章是一份开源的《命令行界面(CLI)设计指南》,核心目标是结合传统 UNIX 原则与现代需求,帮助开发者打造更易用、更友好的 CLI 程序。虽然现在 GUI 非常普及,但 CLI 以其灵活、稳定、跨平台的优势在很多场景(例如 DevOps)都在放光发热。所以了解如何更好的设计 CLI 仍有必要,以下是从文章内挑选的几条重要设计指南:
45+
46+ * 基础规范:使用对应语言的命令行参数解析库,Swift 下是 [ swift-argument-parser] ( https://github.com/apple/swift-argument-parser ) ;成功时返回 0,失败返回非 0;核心输出到 ` stdout ` (支持管道传递),日志,错误信息输出到 ` stderr ` (避免干扰管道)
47+ * 帮助和文档:默认运行无参数时显示简洁的帮助,` -h/--help ` 对应完整的帮助说明。
48+ * 输出设计:人类可读最重要,如果为了人类可读破坏了机器可读,可以增加 ` --plain ` 参数输出机器可读内容,这有利于 grep、awk工具的集成
49+ * 错误处理:避免冗余输出,核心错误应该放在末尾
50+ * 参数和标志:优先使用 ` flags ` ,而不是依赖位置读参数;所有 ` flags ` 都提供短格式和长格式两种(` -h/--help ` );危险操作增加一个保护措施:输入名称、--force 标志等
51+ * 健壮性与兼容性:及时响应用户的输入(100ms以内),如果流程耗时增加进度反馈(进度条)
52+ * 环境变量:避免占用 POSIX 标准变量;本地用 ` .env ` 管理但不应把 ` .env ` 当做配置文件;不要使用环境变量存储密钥等重要信息,这样很容易泄漏,推荐通过文件或密钥管理服务
53+
4254## 工具
4355
4456> 开发过程中常用的工具,及一些新工具的介绍
You can’t perform that action at this time.
0 commit comments