七、懶惰是程序員的通病,但是小偷懶就別了。(我有這樣的觀點:程序員的水平高低,其實從他偷懶的程度上是可以看出來的……^_^)
第六點中已經帶到了這個話題,其實只是調侃得說說自己的想法,不能算很正式的,因為這點其本質和測試沒有一點關系。
我很懶的,要不然不會選擇這個職業,因為程序可以自動幫我做事,這樣我就可以只是輕松地看著了,^_^。
但是懶惰有很多種,有一種最直接的,只顧眼前的懶惰,還是拿不格式化代碼來說,寫的時候很隨意,是好像讓你少做了很多事,但是讓看的人,讓以后自己看的時候(特別是在查錯時),付出更高的代價,我想,無論你在下次回頭看這個代碼的時候,理解它的時間是多花了多么少的時間,也比不上選個菜單自動格式化好代碼花的時間少的。為變化而設計,正是為了將來能夠更偷懶。有一個觀點,現在我也想不起來是哪里看到了的,似乎哪里都有(《重構》啦、XP啦、測試驅動開發啦等等),就是在給一個已有模塊添加新的功能前先重構已有代碼,讓已有代碼適合于添加這個新的功能(好像第一次看到這個應該是《重構》一書),重構不是說讓代碼更好看而已,其目的就是為了適應變化,變化本來顯得很大,但是可以通過重構來改善已有代碼,讓已有代碼適合于新變化的添加,那么變化的復雜性就被縮小了。
所以我說,小懶惰就免了,別影響大局,代碼清晰、必要的重構,不作這些只是小懶惰,它們是以將來可能更大的付出為代價的。測試代碼嘛,也只是代碼而已。
好了,終于寫完了,中間幾點難免有些雷同了(Clean code that works好像就可以涵蓋所有了),還是總結下,思來想去,還是這句了:Clean code that works。大師的話就是精辟啊。不過,仔細想想,上面說的幾點,好像都是沒有說如何做到的,只是說了做到這幾點可以極大得保證測試代碼的正確性,但是這些關鍵點,要如何做到,我想大家還是多看看書吧,《測試驅動開發》、《重構》還有《極限編程-擁抱變化》這些都是難得的好書,我想,相對其它的書,這3本關鍵并不在于其有什么很高深的理論或者技術,而是它們都是指導程序員實踐,如何從小處著手做程序,養成好的編程習慣,也更象是這些大師們自己手把手教咱寫程序一樣,難得的是文筆還很好,敘述得淺顯易懂。
文章來源于領測軟件測試網 http://www.kjueaiud.com/