Wednesday, 19 October 2016

程序员修炼之道读书笔记 38




Document your assumptions always. 为你的假设建立文档(也可以在代码注释中说明你的编程假设)
So next time something seems to work, but you don't know why, make sure it isn't just a coincidence.
下一次当你碰到一些代码看起来工作但是你不知道为什么的时候,请务必确定那不是一个巧合。建议深挖出里面的逻辑,如果工作,弄清楚为什么工作,如果不工作,同样搞明白为什么工作。通常情况下,后者比较容易,前者比较难。 因为一般人会说,well, it works. I don’t have to know why. 事实上,那极有可能是个巧合,你所谓的work,只是基于简单的测试。因为我们不能做到完全覆盖测试,所以明明白白,清清楚楚的知道其中的来龙去脉,非常重要。切记!切记!(笔者曾经干过多次,代码看起来工作,然后就不去追根问题的事情,最终被人找,自己挖坑还得自己填。现在想想实在是不应该,那是在靠运气编程!)
POSIX strcpy isn't guaranteed to work for overlapping strings.
POSIX不能使用strcpy来互相拷贝内存有重合的字符串。

No comments:

Post a Comment