我在两个世界之间徘徊,我在命令行工具中有这个非常直观(但复杂)的机制,我想知道我应该在多大程度上解释这一点。
我可以采用简单的方式,根本不解释它,并相信我的用户自己会弄清楚,但是有些用户可能永远不会发现这个特定的功能。
我可以采取可怕的方式,在帮助输出和手册页中加入大量数学符号,但随后用户可能会认为这太复杂了,他们可能会对我的工具或这个特定功能产生莫名的恐惧。
我如何同时解决实验性用户和保守用户(当某些事情没有得到正确解释时不会加倍努力的用户)?
详细信息:
该工具是关于日期和时间算术的,特别是计算两个日期和/或时间之间的持续时间,并根据格式规范格式化结果。
我的内部设计使用这样的乘法表:
- x d t dt
x x x x x
d x D x D
t x x T x
dt x D x S
其中x
是未知(不可解析)输入,d
是日期,t
是时间并且dt
是日期时间,D
是日期持续时间(分辨率为 1 天),T
是持续时间(分辨率为 1 秒),并且S
是时间戳持续时间(分辨率 1 秒)。
现在结果取决于持续时间类型和给定的格式说明符,我真的缺乏一种简洁的方式来解释这一点,所以我举个例子:
'%d' will return the duration in days (like 12 days)
'%w' will return the duration in weeks (like 1 week)
'%w %d' will return the duration in weeks and days (like 1 week and 5 days)
...
'%S' will return the duration in seconds (e.g. 86464 seconds)
'%M' will return the duration in minutes (e.g. 1441 minutes)
'%H' will return the duration in hours (e.g. 24 hours)
'%H %M %S' will return the duration in hours, minutes and seconds (24h 1m 4s)
'%H %S' will return the duration in hours and seconds (24h 64s)
...
我的意思是,我可能只用这几个例子就可以弄清楚我的意思,但是那里没有正式的解释或任何东西。
为清楚起见:
我试图解决的问题是您可以组合任何标志(秒、小时、天、月等),程序将“智能地”为您提供结果。Like%Y %d
会给你一年和天数(在 0 到 365 范围内),而%Y %m %d
会给你在 0 到 30 范围内的天数(因为其余的都是在当月“捕获”的)。
示例:%Y %d
给出1 year 90 days
而%Y %w %d
给出1 year 12 weeks 6 days