真正的高手不是调试bug而是避免bug——程序员的素质(2)

看动漫是很多程序员的爱好;

我也是,

我这辈子的一个目标就是在有生之年

能看到《火影忍者》的结局,

这个目标我已经坚持十多年了;

不过今天我要说的是那个永远也打不死的星矢;

他讲过一句名言:“对圣斗士同样的招式只能用一次”;

这句话对程序员却是很有意义;

程序员的成长不在乎两点:

一,自学,从自己的错误中成长;

二,想别人学习,在别人的教诲声中成长;

=========================================

对于自学,错误是最好的老师;

一个程序员最高的境界不是去调试Bug,

而是在写完程序后就没有bug;

当然在写出没有bug的程序是种理想的状态,

但是,你写了1000行的程序,在第一次编译后是

“- 0 error(s), 0 warning(s)”吗?

如果是,那你就不需要往下看了。

如果不是,那看看你的错误是第一次遇见吗?

90%以上的情况下,不是;

如果不是,那就是说,这个编译错误是可以避免的;

在写代码的时候,注意错误的产生的意义不仅如此,

那被编译器检查出来的不是问题;

真正的问题是编译器检查不出来的,

而语法错误和语义错误对我们来说是一样的,

都是可以避免的;

数字是最能说明问题的:

假设A:

1000 行代码, 编译错误 5 ,语义错误 5;

代码书写时间:16h;

修整编译错误时间:0.5h;

修整语义错误(4)时间:20h;

剩余bug;(1)

-------------------------------------

剩余bug 1, 使用时间:36.5h

假设B:

1000 行代码, 编译错误 2 ,语义错误 2;

代码书写时间:20h;

修整编译错误时间:0.3h;

修整语义错误(2)时间:5h;

剩余bug;(0)

-------------------------------------

剩余bug 0, 使用时间:25.3h

从A到B的过度真的很难吗?需要很多技巧吗?

但是你做到了吗?

==========================================

跟别人学习同样重要,跟你的Leader,跟你的colleague学习;

自学是提高你的编码质量, 而向别人学习是学的解决问题能力;

关于这一点下次再总结;

你可能感兴趣的:(真正的高手不是调试bug而是避免bug——程序员的素质(2))