bug的诞生

昨天改了一天的bug, 从早上8点足足改到晚上1点, 16个小时的奋战, 改的昏天黑地. 每个bug都是那么的强悍, 每当修复了心目中的最后一个, 你就会发现有更大的boss在等着你.

不过改动的结果也很喜人

  1. 代码量减少了, 确实是减少了.
  2. 经历了拆分, 合并, 所谓分久必合, 合久必分, 目前的框架结构合理多了, 类间的依赖小了很多.
  3. 人生第一次觉得必须抽象一个接口解决问题, 这个接口也确实解决了问题. 而且代码清晰了很多.
  4. 原来看着就那么不顺眼的代码, 也改掉了, 本来写死的列数, 现在也可以改了.
  5. if判断也减少了, 并且大量的if包含改为了if return, 逻辑上清晰了很多.

有一个感触越来越清晰了:

if有害

  • bug一般不会发生在逻辑最复杂的地方, 因为逻辑最复杂的地方, 你会投入大量的精力, 并且本能上的认真对待, 导致复杂逻辑的封装性一般都很好.
  • 相反, bug就会经常发生在if判断上,
    • 尤其是简单的if判断,
    • 尤其是, if之后很多时候, 我们需要重置判断条件, 这个真心是bug之源.