From to: sid: window:

随笔 (essay)

大教堂与市集 (catb)

233    然而在开源项目中,外延开发是可以分离的平行子环节,彼此关联甚少。
234    代码变动和错误报告都流经项目的核心团队,只有在那里我们才需要担负´布鲁克斯式”的管理成本。
235    代码层的错误报告对开发大有助益的原因还有很多,然而它们都围绕着一个事实。
236    那就是:同一个错误在不同的操作习惯和环境下会表现出不同的症状。
237    这类问题通常复杂隐蔽,难以重现和静态捕捉,它们正是造成软件长期问题的祸根。
238    (比如动态内存管理出错或者随机窗口中断的影响)
239    一则源自测试者的(源代码层)试探性描述(例如´我觉得1250行附近像是有个信号处理窗口”或者´你在哪把缓存清零了?”),就可能会成为´当局者迷”的开发者同时解决六七个不同表象问题的关键线索。
240    我们往往很难为五花八门的症状找到对应的错误,但是只要你发布的够频繁就无需为此担忧。
241    因为其他协作者会很快的去查看自己提交的问题是否已经被修正了。
242    多数情况下,源代码层的错误报告可以让许多问题没有经过特定修补就消失殆尽。
243    对于复杂多变的错误,从表面症状探索其成因的途径通常也很多。
244    而对开发者和测试者而言,走哪条路则取决于他们自身所在的环境,而且也可能因为时间而产生一些无法预期的变化。
245    实际上,开发者和测试者在为症状寻找病因的时候,都可以看作是对程序某部分运行状态的´半随机”取样。
246    错误越是隐蔽复杂,取样对症的成功率也就越低。
247    对于简单易于重现的错误,重音应该落在´半”而不是´随机”上;此时,调试技巧和对代码以及其结构的熟识能派上大用场。

Go to Dashboard (guest)