关于用户默认执行和不执行的操作,有一个小discussion。
默认情况下,颜色被禁用(通常使用git config
设置),但它会将其输出发送到寻呼机应用程序以获取某些命令(例如git log
)。
这方面的一个方面是不应该启用任何标志,因为它可以让用户完全控制应用程序。相反的情况是,在发布新应用程序时,应该尝试尽可能快地赢得用户,尽可能多的花里胡哨。
这可能是一个非常主观的问题,但在2010年,终端应用程序应默认开始制定可用性决策,或强制其用户自定义它。
答案 0 :(得分:1)
$ rm file.txt </dev/null Do you want to remove file.txt [y/n] tty not connected, guessing "no"
所以没有;请避免任何假设,因为它们可能与预期完全相反。
默认情况下,git diff中的颜色处于禁用状态,因为寻呼机可能不支持它 - 即使是较少的情况也是如此,需要使用-R
选项显式调用以启用转义序列支持。
答案 1 :(得分:0)
如果存在某些情况时某些行为不同的情况,如输出是tty与管道的颜色情况,应该清楚这个条件是什么,但git log
不会检查这个但是其他一些程序在ls
模式
--color=auto
在git log
--color
的情况下,它使用较少的颜色转义码传递
如果你想覆盖它,给它们像--color[=WHEH]
这样的ls
选项可以强制打开颜色而不管输出的类型
--color[=WHEN] control whether color is used to distinguish file
types. WHEN may be `never', `always', or `auto'
自动模式是我在第一段中描述的
默认值应该是对程序用户有用的默认值,如果有些情况下默认值不是想要的那个选项适用于
答案 2 :(得分:0)
终端应用程序也不例外。请参阅oracle import(imp)它提供合理的默认值,因此即使它提出问题但是给出了一个默认选择,一个天真的用户会选择它,除非他真的确定该选项。甚至在oracle中创建数据库,该数据库具有较小的版本,该版本假定所有合理的默认值和扩展版本。
这方面的一面是没有 应该启用标志,因为它给出了 用户完全控制了 应用
如果实际开始使用它,用户将学会使用完全控制。例如,我正在评估工作流引擎,开源源代码引擎,想象一下我需要设置完整的基础架构,比如数据库表结构,甚至在它启动和运行之前。相反,最复杂的工作流引擎之一提供了很好的HSQLDB实现,非常适合评估。
一旦某些东西开始工作,我可以调整它以适合我,而不是花费几天时间在一个看起来很糟糕的软件上。