是的,一点没错。这些清楚的迹象表明,编写此代码的人对代码不满意,并且可能会戳它直到他们碰巧起作用。他们有可能不了解真正的问题,或者更糟的是,他们理解了这些问题,并且懒得解决它们。
但是,这是警告,需要大量的努力才能对其进行修复,并且此类修复将具有与之相关的风险。
理想情况下,您将能够找出问题所在并正确解决。例如:
设置了超时时间,以便给模块A一些时间做事。如果未按时计时,它将损坏。
这强烈表明模块A不能正确指示何时可以使用或何时完成处理。也许写这篇文章的人不想打扰修复模块A或由于某种原因而无法做。这看起来像一场灾难,等待发生,因为它表明计时相关性是靠运气而不是适当的顺序来处理的。如果看到此消息,我将非常想修复它。
请勿更改。相信我,你会破裂的。
这不会告诉你太多。这将取决于代码在做什么。这可能意味着它似乎有明显的优化,出于某种原因,它实际上会破坏代码。例如,循环可能碰巧将变量保留为另一代码所依赖的特定值。否则可能会在另一个线程中测试变量,并且更改变量更新的顺序可能会破坏该其他代码。
我知道使用setTimeout并不是一个好习惯,但是在这种情况下,我不得不使用它。
这看起来很简单。您应该能够看到setTimeout
正在执行的操作,也许可以找到一种更好的方法来执行此操作。
就是说,如果这些修复不在您的重构范围内,则表明在此代码内尝试重构可能会大大增加您的工作范围。
至少,仔细查看受影响的代码,看看是否至少可以将注释改进到更清楚地说明问题所在。这样可以避免下一个人面对您面临的相同谜团。