var initial = extractVariables(req.body);
这样会在我的匿名函数作用域内成立这个变量,因此接下来的请求就不会截断这个值。这是新手才会犯的毛病,可是在我做的所有调试或测试中都完全不会带来竞争/并提问题。
现在我要对你说的是:你应该用过 CoffeeScript并且可能对TameJS很在行。你多是正确的。我想理解第一次执行NodeJS挪用了哪些函数,但这对我的公司是一个不需要的损失。在其他情况下,它可能带来更严重的问题(假定我在会话中毛病的使用了变量会如何?)。最重要的是,缺乏真正好的毛病措置(在Rails,我们通过backtrace跟踪毛病并把毛病发送给开辟团队)以及真正的调试(依靠的是grep和less命令)让我感觉我们离好的开辟差距很远。或也许我应当加倍小心。
在4个小时宕机并令上百个用户失望而归之后,我找到了问题的症结并修复了产品。风雨之后,拨云见日。我们起头对受到影响的用户致歉,盘点这次事故的损失并继续工作。可是,缺少一个关头字带来这样的损失仍是让我感应难以释怀。少写了一个var会让我成为坏人吗?
英文原文:How One Missing `var` Ruined our Launch by -Geoff
翻译地址:唐尤华,伯乐在线。