Skip to content

Commit

Permalink
deploy: 506bd34
Browse files Browse the repository at this point in the history
  • Loading branch information
zdyxry committed Oct 12, 2024
1 parent 01cd6df commit 2d630bb
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion 2022/02/26/编写一个友好的命令行工具/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
<a class=heading-link href=#%e6%98%8e%e7%a1%ae%e6%98%be%e7%a4%ba%e5%bd%93%e5%89%8d%e7%89%88%e6%9c%ac><i class="fa-solid fa-link" aria-hidden=true title=链接到标题></i>
<span class=sr-only>链接到标题</span></a></h3><p>在使用过程中,如果遇到了问题,那么通常需要上报命令行版本反馈,需要明确给出当前命令行所指定的版本。通常会有 <code>-v</code>, <code>-V</code>, <code>--version</code>, <code>version</code> 等子命令,其中 <code>-v</code><code>-V</code> 有可能会跟 <code>verbose</code> 混淆,建议将版本作为一个独立的子命令 <code>version</code> 来实现。</p><h3 id=针对-stdint-stdout-stderr-正确使用>针对 stdint, stdout, stderr 正确使用
<a class=heading-link href=#%e9%92%88%e5%af%b9-stdint-stdout-stderr-%e6%ad%a3%e7%a1%ae%e4%bd%bf%e7%94%a8><i class="fa-solid fa-link" aria-hidden=true title=链接到标题></i>
<span class=sr-only>链接到标题</span></a></h3><p>如果已知一个命令行的执行耗时较长,那么用户通常执行命令时会选择将 stdout 重定向到指定文件中,便于后续查看执行过程输出,留存。但是如果在执行过程中出现异常,那么尽量将异常信息通过 stderr 输出,及时暴露给用户。默认情况下 stdout 被重定向之后,stderr 仍会打印在终端中。</p><p>当命令本身语气输出是一个结构化的数据(json/yaml),如果命令同时还支持配置 LOG_LEVEL,那么当 LOG_LEVEL 设置为 DEBUG 时,可以考虑将 LOG 输出到 stderr,保证 stdout 始终是预期输出,可以避免对其他使用者解析命令输出造成困扰。</p><h3 id=明确的错误信息>明确的错误信息
<span class=sr-only>链接到标题</span></a></h3><p>如果已知一个命令行的执行耗时较长,那么用户通常执行命令时会选择将 stdout 重定向到指定文件中,便于后续查看执行过程输出,留存。但是如果在执行过程中出现异常,那么尽量将异常信息通过 stderr 输出,及时暴露给用户。默认情况下 stdout 被重定向之后,stderr 仍会打印在终端中。</p><p>当命令本身预期输出是一个结构化的数据(json/yaml),命令同时还支持配置 LOG_LEVEL,那么当 LOG_LEVEL 设置为 DEBUG 时,可以考虑将 LOG 输出到 stderr,保证 stdout 始终是预期输出,可以避免对其他使用者解析命令输出造成困扰。</p><h3 id=明确的错误信息>明确的错误信息
<a class=heading-link href=#%e6%98%8e%e7%a1%ae%e7%9a%84%e9%94%99%e8%af%af%e4%bf%a1%e6%81%af><i class="fa-solid fa-link" aria-hidden=true title=链接到标题></i>
<span class=sr-only>链接到标题</span></a></h3><p>当用户在执行命令过程中遇到错误,需要尽可能的显示多的、有用的信息出来:错误码、错误描述、错误信息。给出的信息是人类友好的,毕竟针对错误进行调试的是我们自己。尽量保证自己的命令行提供调试模式(类似于 Shell 中的 <code>set -x</code> ),便于 debug。</p><h3 id=不要过分花里胡哨>不要过分花里胡哨
<a class=heading-link href=#%e4%b8%8d%e8%a6%81%e8%bf%87%e5%88%86%e8%8a%b1%e9%87%8c%e8%83%a1%e5%93%a8><i class="fa-solid fa-link" aria-hidden=true title=链接到标题></i>
Expand Down

0 comments on commit 2d630bb

Please sign in to comment.