在你对编程有所顿悟之前,你有过怎样的体验?

毕业第四年,开始从事嵌入式行业。为了尝试解决新产品中文件系统可靠性的问题,我被分配开始一个新的尝试,编写一个自行设计的文件系统。文件系统被设计成使得任何时候突然断电都不会导致文件系统的故障。这个看似简单的要求,实现起来其实非常昂贵。我参考文件系统里的一些文章,没有复制任何代码,完整的设计写一个文件系统。因为文件系统对稳定性要求极高,文件系统的任何不可靠性都会使整个系统失效。在这个系统中,我使用了当时所有的脑细胞,实现了非常完整的自动化测试,以至于在编写程序的时候,只用了一个星期就解决了所有的bug,然后系统中使用的设备保持稳定运行。从什么地方开始了解?如果一个程序能在短时间内达到无bug的程度,是最令人鼓舞的事情。我明白,通过精心的设计和编码前的大量自动测试编码,这是可能实现的。看起来有点像极限编程,但在那个时候,似乎根本没有提出极限编程的概念。