> 出處:[編程派](http://codingpy.com/article/the-little-printf-chapter03/)
> 原文:[http://ferd.ca/the-little-printf.html](http://ferd.ca/the-little-printf.html)

> 小Printf剛開雖然只能寫一寫簡單的程序,但是隨著自己的水平慢慢提升,也嘗試開發了一個較為大型的系統,使用了多種模塊。但是,畢竟還是太年輕,很多問題沒有處理好,導致程序不斷崩潰。認識到了自己的不足,他決定走出去,向偌大的軟件世界學習、求助。 -?[上一章](http://codingpy.com/article/story-of-little-printf-chapter2/)
我很快就弄清楚了這個小家伙目前的成果。他的代碼倉庫里面只有一些小程序,帶有表格的簡單網頁以及一些命令行腳本。它們都沒有什么出彩的地方,創建之后,也會很快被刪除。
后來,他開始開發一個更大的程序,這個程序用到了多個模塊。它需要使用套接字,訪問磁盤,并與真正的數據庫進行交互。當程序第一次構建完并成功運行的時候,小Printf高興地跳了起來。但是這個程序還不夠好。
它需要進行重構,編寫更好的測試腳本、文檔、lint檢查和分析。程序運行一段時間之后,一天早上突然就崩潰了。
然后,又不斷出現崩潰的情況。
程序的設置是錯誤的,日志文件沒有輪轉(rotate),磁盤讀寫速度不穩定,網絡也會時不時中斷,總是會出現各種故障,程序編碼也被弄混了,數據庫沒有定期清理,導致數據庫交易掛死;證書最終過期,不斷出現各種通用漏洞(CVE)。

總之,他的那個程序最后變得一團糟。
他告訴我說:“看來我還什么都不懂!我本應該滿足完自己的需求就好了。但是由于編寫了一個不錯的系統,我慢慢地自大,我花了那么多時間去打補丁,甚至是已經抵消掉了程序為我節省的時間。”
一天早上,他決定離開自己的辦公室。“再見了”,他對著辦公室說道。他要走出去,看看軟件世界除了自己亂糟糟的服務器之外,都有著什么精彩之處。
他離開之后,原來那個程序的日志會越積越大,直到硬盤空間被耗盡。