Reflect on the trial-and-error process of the task and distinguish between changes that were essentially necessary and changes that, despite being tried, ultimately proved ineffective and unnecessary.
You shouldn't make assumptions about whether a change is essentially necessary. For example, when fixing a bug, review the changes made when the bug was finally fixed, understand the essential and root cause of the bug, and then, based on that, determine whether each change is essentially necessary.
When determining whether each change is necessary, pay particular attention to bugs caused by multiple factors. Bugs can be caused by a single, simple cause, or by multiple factors. If it's caused by a single, simple cause, the last change made when the bug is fixed may be sufficient, and previous changes may be unnecessary. If it's a bug caused by multiple factors, the last change alone may not be enough, and some of the changes made during the trial-and-error process leading up to it may also be necessary. Carefully consider the underlying cause of the bug, including whether it's due to a single cause or multiple factors, and then determine which changes are necessary and which are not.
回顾任务的 trial-and-error 过程,区分本质上是必要的更改与虽然尝试过、但最终证明无效和不必要的更改。
你不应主观假定某项更改是否确有必要。例如,在修复 bug 时,应回顾 bug 最终修复时所做的更改,理解其关键因素和 root cause,然后据此判断每项更改是否确有必要。
判断每项更改是否必要时,应特别注意由多个因素引起的 bug。Bug 可能由单一简单原因引起,也可能由多个因素引起。如果由单一简单原因引起,修复 bug 时最后所做的更改可能已经足够,之前的更改则可能不必要。如果 bug 由多个因素引起,仅靠最后一项更改可能不够,而且在此前的 trial-and-error 过程中所做的某些更改也可能必要。仔细考虑 bug 的根本原因,包括它是由单一原因还是多个因素造成,然后判断哪些更改是必要的,哪些不是。