如果知道我的目标的progress
和daysLeft
%,我如何确定目标的总体状态(假设定义的状态是off-track
、at-risk
、on-track
和completed
)。
对于边界情况:
- 如果进度
100%
无论天是什么,我都知道我的目标状态 是completed
- 如果 daysLeft 百分比
0%
,进度小于100%
,我知道我的目标是off-track
我需要考虑到进度和剩余天数的逻辑来确定目标持续时间内提到的状态之一。
我想这是一个意见问题,但你可以做这样的事情:
if progress == 100%: status = completed; return;
if progress >= 100% - daysLeft: status = on-track; return;
if daysLeft > 0: status = at-risk; return;
status = off-track;
这样,您的两个条件就得到了满足,并且当剩余天数多于为该工作分配的时间量
时,状态处于正常状态,当没有剩余天数时,状态处于危险之中。(如果需要,您可以将 return 语句更改为 if-else。
这对你有用吗?