| 編程序不僅要?jiǎng)邮?,還要?jiǎng)幽X。編寫(xiě)好的優(yōu)秀的程序,不僅要?jiǎng)邮謩?dòng)腦,還要?jiǎng)有牡?。用心渴望完美的程序,用心體會(huì)一流的代碼,用心去追求每一個(gè)環(huán)節(jié)。  一:指針 最怕段錯(cuò)誤 可以使用gdb等調(diào)試工具,但是最有效的辦法是養(yǎng)成良好的變成習(xí)慣。 a.   malloc and free,是不能拆開(kāi)的一對(duì)。 b.   函數(shù)調(diào)用從調(diào)用函數(shù)傳來(lái)的指針,要追蹤其源頭,注意分配了多少空間。 c.   sprintf、strcp等涉及到寫(xiě)操作的庫(kù)函數(shù),要注意分配的空間是否足夠。 二:永遠(yuǎn)不要相信自己的代碼 對(duì)沒(méi)有做過(guò)測(cè)試的代碼,是完全不可信任的。程序執(zhí)行有很多的不可確定的因素,一次、兩次、甚至是一直無(wú)錯(cuò)的記錄,都不能保證未來(lái)不出錯(cuò)。 a.   給別人講程序。自己想一遍流程,讓對(duì)方檢查一次流程。 b.  文章是改出來(lái)的,程序也是改出來(lái)的。定期回顧一下自己原來(lái)編寫(xiě)的程序,會(huì)發(fā)現(xiàn)很多邏輯錯(cuò)誤、隱形bug等等。在這個(gè)過(guò)程中,你能夠?qū)W到自己原先不懂得東西,收獲豐富。       程序?qū)懲旰螅约嚎梢杂脛e的思路再次寫(xiě)一遍,推敲各種細(xì)節(jié)。一遍遍的寫(xiě)程序,看似無(wú)用功,其實(shí)是一種修煉。修煉不就是重復(fù)嗎?重復(fù)得真章!       程序完成后,隔12小時(shí)或著一天,再次讀一遍,修改一遍。       自己改完后,讓同學(xué)幫你修改一遍。       我相信,使用以上的辦法堅(jiān)持半年,一定會(huì)收獲豐富的。    三:調(diào)試 代碼的錯(cuò)誤不是對(duì)自己的否定,也不是對(duì)自己的挑戰(zhàn),而是一件極為正常的事情。完成它,科學(xué)的完成。不驕不躁,將錯(cuò)誤找出來(lái)。這是編程的一個(gè)很大的工作。 a.   將程序看作很多個(gè)小功能體的復(fù)雜組合。以每一個(gè)小功能體為基本單位進(jìn)行測(cè)試。在測(cè)試每一個(gè)小功能體時(shí),屏蔽掉其他功能體的影響。       將出錯(cuò)范圍不斷地縮小,直到找到出錯(cuò)的代碼。 | 
|  | 
來(lái)自: 李欣 > 《Compute Science》