資源描述:
《C程序開發(fā)讓你的代碼足夠的強(qiáng)大》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、C++程序開發(fā)讓你的代碼足夠的強(qiáng)大!作者:xxxluozhen在實(shí)際的項(xiàng)目中,當(dāng)項(xiàng)目的代碼量不斷增加的時(shí)候,你會(huì)發(fā)現(xiàn)越來越難管理和跟蹤其各個(gè)組件,如其不善,很容易就引入BUG。因此、我們應(yīng)該掌握一些能讓我們程序更加健壯的方法?! ∵@篇文章提出了一些建議,能有引導(dǎo)我們寫出更加強(qiáng)壯的代碼,以避免產(chǎn)生災(zāi)難性的錯(cuò)誤。即使、因?yàn)槠鋸?fù)雜性和項(xiàng)目團(tuán)隊(duì)結(jié)構(gòu),你的程序目前不遵循任何編碼規(guī)則,按照下面列出的簡單的規(guī)則可以幫助您避免大多數(shù)的崩潰情況?! ”尘啊 ∠葋斫榻B下作者開發(fā)一些軟件(CrashRpt),你可以http://code.google.com/p/crashrpt/網(wǎng)站上下載
2、源代碼。CrashRpt顧名思義軟件崩潰記錄軟件(庫),它能夠自動(dòng)提交你電腦上安裝的軟件錯(cuò)誤記錄。它通過以太網(wǎng)直接將這些錯(cuò)誤記錄發(fā)送給你,這樣方便你跟蹤軟件問題,并及時(shí)修改,使得用戶感覺到每次發(fā)布的軟件都有很大的提高,這樣他們自然很高興?!鴪D1、CrashRpt庫檢測到錯(cuò)誤彈出的對話框 在分析接收的錯(cuò)誤記錄的時(shí)候,我們發(fā)現(xiàn)采用下文介紹的方法能夠避免大部分程序崩潰的錯(cuò)誤。例如、局部變量未初始化導(dǎo)致數(shù)組訪問越界,指針使用前未進(jìn)行檢測(NULL)導(dǎo)致訪問訪問非法區(qū)域等。 我已經(jīng)總結(jié)了幾條代碼設(shè)計(jì)的方法和規(guī)則,在下文一一列出,希望能夠幫助你避免犯一些錯(cuò)誤,使得你的程序更加健
3、壯?! 【植孔兞康某跏蓟 ∈褂梦闯跏蓟木植孔兞渴且鸪绦虮罎⒌囊粋€(gè)比較普遍的原因,例如、來看下面這段程序片段:??//Definelocalvariables??BOOLbExitResult;//ThiswillbeTRUEifthefunctionexitssuccessfully??FILE*f;//Handletofile??TCHARszBuffer[_MAX_PATH];??//Stringbuffer??//Dosomethingwithvariablesabove... 上面的這段代碼存在著一個(gè)潛在的錯(cuò)誤,因?yàn)闆]有一個(gè)局部變量初始化了。當(dāng)你的代碼運(yùn)
4、行的時(shí)候,這些變量將被默認(rèn)負(fù)一些錯(cuò)誤的數(shù)值。例如bExitResult數(shù)值將被負(fù)為-135913245,szBuffer必須以“