作为一名合格的程序员,你会从 Bug 中学习么?
西安Android培训机构认为Bug 是绝佳的学习机会。所以我们怎样尽可能多地从修复的 bug 中吸取经验?我至今已经用了 13 年的一个方法是,写下这个 bug 的简单描述、修复方法以及吸取的经验。
遥想 2002 年,我偶然发现一篇描述如何使用的文章。我从那时起就使用这个方法了,并且相信它能帮助我成为一个更出色的程序员。不过后来我忘记在哪里呢,索性我就写一篇。
每当我修复一个特别棘手或有趣的 bug,我总会花几分钟写下一些这个 bug 的信息。
至今,我已经有 194 条记录,平均每个月有一条新的记录。重要的是教训部分。这里需要自我反省。是什么导致这个 bug 的特殊性?我发现经验常常来自于三个不同的方面:
编码。我在代码中犯了什么错误?我是否忘记了 else 部分代码?是否系统调用失败,但没有检查 response?我在未来应该怎么调整代码来防止这些问题?
测试。一般不包括本可以在测试中捕获的 bug 。要是这样的话,应该在哪个阶段测试——单元、功能、系统?丢失了哪个测试用例?
调试。我本可以怎样快速定 位 bug?我是否使用了正确的方法?我是否假定了太多?我是否需要在代码中使用更好的日志记录?
益处
Nassim Nicholas Taleb 在《Antifragile》中写到:“错误包含丰富的信息”。我完全同意这个观点。Bug 帮助我们更好地理解系统,告诉我们怎样提高编码、测试和调试技巧。所以我认为尽可能从 bug 中学习经验,是再正常不过的事了。
我发现为每个有趣的 bug 记录下来,让我轻易学习到很多。在记录的行为中我会对发生的事情思考得更深刻。同样,一旦记录下来,我可以在之后检查发生的事情。偶尔,我也会浏览文件,只阅读教训部分,对我认为是从 bug 中学到的有价值的经验加强记忆。
我记录 bug 文件至今已经有 8 年了。这是一段漫长的时间,但是我坚持下来了,因为作为一名合格的程序员,它帮助我进步。尝试一下吧,看看它是否也对你有益!西安Android培训认为这个方法会对你有很大的帮助
遥想 2002 年,我偶然发现一篇描述如何使用的文章。我从那时起就使用这个方法了,并且相信它能帮助我成为一个更出色的程序员。不过后来我忘记在哪里呢,索性我就写一篇。
每当我修复一个特别棘手或有趣的 bug,我总会花几分钟写下一些这个 bug 的信息。
至今,我已经有 194 条记录,平均每个月有一条新的记录。重要的是教训部分。这里需要自我反省。是什么导致这个 bug 的特殊性?我发现经验常常来自于三个不同的方面:
编码。我在代码中犯了什么错误?我是否忘记了 else 部分代码?是否系统调用失败,但没有检查 response?我在未来应该怎么调整代码来防止这些问题?
测试。一般不包括本可以在测试中捕获的 bug 。要是这样的话,应该在哪个阶段测试——单元、功能、系统?丢失了哪个测试用例?
调试。我本可以怎样快速定 位 bug?我是否使用了正确的方法?我是否假定了太多?我是否需要在代码中使用更好的日志记录?
益处
Nassim Nicholas Taleb 在《Antifragile》中写到:“错误包含丰富的信息”。我完全同意这个观点。Bug 帮助我们更好地理解系统,告诉我们怎样提高编码、测试和调试技巧。所以我认为尽可能从 bug 中学习经验,是再正常不过的事了。
我发现为每个有趣的 bug 记录下来,让我轻易学习到很多。在记录的行为中我会对发生的事情思考得更深刻。同样,一旦记录下来,我可以在之后检查发生的事情。偶尔,我也会浏览文件,只阅读教训部分,对我认为是从 bug 中学到的有价值的经验加强记忆。
我记录 bug 文件至今已经有 8 年了。这是一段漫长的时间,但是我坚持下来了,因为作为一名合格的程序员,它帮助我进步。尝试一下吧,看看它是否也对你有益!西安Android培训认为这个方法会对你有很大的帮助