茱莉亚•埃文斯

阅读源代码,而不是医生

在我第一次编程工作,我曾在一个网站开发公司和写的模块Drupal网站。

经常会有这样的现象,我需要了解一些特定的Drupal边界情况(说,如何搜索页面标签中的文本是决定)。,它也许不被记录下来。和堆栈溢出没有答案,和我的的同事们不知道。我想把这作为一个“哦,我需要知道如何计划”时刻——没有人会告诉我要做什么,我只是需要找到答案。

咨询公司的创始人亚历克斯Dergachev,他教会了我一个非常重要的事情!每当我有questionlike这个,他会告诉我刚读Drupal的源代码,然后我'dknow答案。这是很明显的回想起来,但是'tobvious给我。

我原本觉得Drupal太复杂的理解(这是一个大代码库!),但事实证明如果我尝试通常figureout我需要知道什么。

这当我工作特别好理解很好codeI正在使用是做什么,只是对某些具体细节没有把握。例如这个按钮会出现所有用户,还是只有adminusers ?”我用这所有的时间在工作,你们中的大多数可能dotoo !总有细节不exhaustivelydocumented的代码,和使用grep找到答案是非常有益的。

但是有时候阅读代码不工作。

最近我在写一个地图减少工作,和有一个memoryerror。它并没有明显的原因,我想看看为栈跟踪和读一些相关的部分源代码。和itjust。没有。的帮助。在。所有人。

原来我做了一个连接,和行右侧加入太大,这是导致级联是悲伤的。但understandthat,了解层叠连接工作很重要!,我不知道。值得庆幸的是我的工作 知道 的事情我不知道Hadoop,他们可以算出来。

看起来有几个不同级别的错误困难:

  1. 很明显你是错的
  2. 你谷歌例外,阅读一些文档或堆栈溢出,然后立即明显的有什么问题
  3. 你不知道什么是错的,但是你知道或多或少的(开源)库代码你使用,你可以阅读thecode算出来
  4. 你缺少一些更加宏伟的知识你'rerunning需要理解的代码错误在级联notunderstanding连接是如何工作的(比如我)。

我仍然挣扎在接近问题# 4(特别是如果我不知道我不知道的事情我失踪)。就目前而言,Ijust,,经常和我一起工作的人有答案,真的很有帮助。

我认为如果我不这样做,我阅读大量的文档和希望的一些相关。我喜欢更多的想法,虽然。或者如果youdisagree bug困难层次,我由10 minutesago和有自己的,我想知道:):

编程不属于男人(它属于我) 德州2015年数据