读书笔记(二)-----《梦断代码》
今天读到《梦断代码》的第十章,深有感触。不过最感触的还是这样一段话:“如果向程序员报告缺陷,他的第一反应是问你,“重现问题了吗?”——意思就是说,你能确实让问题再现一次吗?如果答案是肯定的,事情就成了一半。如果答案是否定的,程序员就会耸耸肩膀,将责任推给硬件故障或者宇宙射线。”
说实话这真的和我非常类似,每当别人用我代码,然后发现我的BUG,第一反应都是让他把这个BUG挑出来,让我看到。因为自己的代码总是认识是完美的、无懈可击的。认为自己已经考虑了很严密了,但是现实却给你重重一击。
为什么感触这么深,真的是因为经历过。
之前给别人抄过我的数据结构代码,后来他和我说出现BUG,计算的答案错误。我当时就是“屁,我那会调试都已经调对了。”后来他让我看,我发现真的是错了,深度遍历和广度遍历一样,于是我就懵了,明明之前做的都对,为什么到它这出现了BUG。我那会甚至都认为是他的编译器出BUG。
然后我就开始找错误,后来终于发现,我在初始值时把它初始为Maxint,而不是0.(之前是0,后来我改成Maxint),导致出现这个错误。然后我告诉它把错误该了,成功运行。
读到这句话,很有感触。但别人发现我们的错误时,我们不能总是接受错误,总是推卸。如果问题没有重现,那就更自信自己没有错。写程序得严谨、还要高效。犯错误难免的,重要还是接受错误。
之前刷抖音还看过程序员的脱口秀段子,说是指向程序员错误,程序员解释:“请熟读文档”。如果继续说错误,程序员又会说:“请仔细熟读文档”。如果继续说错误,程序员就会说:“请熟读并背诵文档”。。。 之前看这个段子真的搞笑,因为是真的符合实际。
但一个好的程序员,不仅会写代码,而且还得会接受错误。程序写的好的程序员都笔记傲,所以还是放下心,接受错误把。