高级软件工程师教会小白的那些事(17)

当然,我不需要一直这样做。有时,仅仅error提示就足以将搜索空间缩减而直指到我的代码。

当我无法弄清楚这个问题的时候,我会尽量将代码的改动保持在最低限度。改动的地方越少,我就能越快地研究真正的问题。将推理跳跃保持在最低限度。

我现在还会记下那些花了我1个多小时才解决的bug:我漏掉了什么?通常是因为我忘记检查一些愚蠢的小事,比如设置路由,确保架构版本和服务版本匹配等等。这是使我对当前使用的技术栈熟悉起来的另一个步骤,不过还有一样东西只能靠经验培养——能弄清楚事情为什么不work的直觉。

战争故事

这是调整参数或玩弄统计数据,以及修复根本原因这两者之间的一段舞蹈。

如果没有战争故事的部分,这篇文章怎么能够说是完整呢?我喜欢阅读它们,现在我至少有一个故事想分享一下。

这是个关于搜索和SQLAlchemy的传说。在BNEF,我们有很多分析师来撰写研究报告。每当报告发布时,我们都会收到一条消息。每当我们收到消息时,我们都会通过SQLAlchemy进入我们的数据库,获取我们需要的所有东西,将其转换,然后将它发送到我们的solr实例进行索引。就在这时,奇怪的AF bug发生了。

推荐阅读