下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、寫(xiě)出優(yōu)秀的代碼,更需要你有深 作為程序員,寫(xiě)代碼是需要一種崇高無(wú)上的精神來(lái)支撐的, 厚的底蘊(yùn)和良好的編碼習(xí)慣。在介紹寫(xiě)優(yōu)秀代碼的10個(gè)技巧之前,我們先來(lái)探討一下什么 樣的代碼才是優(yōu)秀的代碼。 穩(wěn)定可靠(Robustness ) 可維護(hù)且簡(jiǎn)潔(Maintainable and Simple Code ) 高效(Fast) 簡(jiǎn)短(Small) 共享性(Reusable ) 可測(cè)試性(Testable ) 可移植性(Portable ) 面對(duì)以上的目標(biāo),我們總結(jié)了以下10個(gè)寫(xiě)代碼的技巧,希望對(duì)你有所幫助。 1、百家之長(zhǎng)歸我所有 其實(shí)寫(xiě)代碼的方式有很多,每個(gè)人都有自己的風(fēng)格,但是眾多的風(fēng)格中總有一些共
2、性的、基 本的寫(xiě)代碼的風(fēng)格,如為程序?qū)懽⑨尅⒋a對(duì)齊,等等。是不是編程規(guī)范?對(duì)就是編程規(guī)范。 2、取個(gè)好名字 取個(gè)好的函數(shù)名、變量名,最好按照一定的規(guī)則起名。還是編程規(guī)范。 3、凌波微步,未必摔跤 這里我用“凌波微步”來(lái)形容 goto語(yǔ)句。通常,goto語(yǔ)句使程序跳來(lái)跳去,不容易讀, 而且不能優(yōu)化,但是在某種情況下,goto語(yǔ)句反而可以增強(qiáng)程序的可讀性。Just go ahead , not go back 。 4、先發(fā)制人,后發(fā)制于人 Defen sive Codi ng指一些可能會(huì)出錯(cuò)的情況,如變量的初始化等,要考慮到出現(xiàn)錯(cuò)誤情況 下的處理策略。測(cè)試時(shí)要多運(yùn)行幾個(gè)線程。有些程序在一個(gè)線城下
3、運(yùn)行是正常的,但是在多 個(gè)線程并行運(yùn)行時(shí)就會(huì)出現(xiàn)問(wèn)題;而有些程序在一個(gè)CPU運(yùn)行幾個(gè)線程是正常的,但是在 多個(gè)CPU下運(yùn)行時(shí)就會(huì)出現(xiàn)問(wèn)題,因?yàn)閱蜟PU運(yùn)行線程只是狹義的并行,多CPU 一起運(yùn) 行程序,才是真正的并行運(yùn)算。 5、見(jiàn)招拆招,滴水不漏 這里的Error Case (錯(cuò)誤情況),是指那些不易重視的錯(cuò)誤。 如果不對(duì)Error Case進(jìn)行處理, 程序在多數(shù)情況下不會(huì)出錯(cuò),但是一旦出現(xiàn)異常,程序就會(huì)崩潰。 6、熟習(xí)劍法刀術(shù),所向無(wú)敵 用“劍法刀術(shù)”來(lái)形容一些API是因?yàn)樗鼈兌际墙?jīng)過(guò)了很多優(yōu)秀開(kāi)發(fā)人員的不斷開(kāi)發(fā)、測(cè) 試,其效率很高,而且簡(jiǎn)潔易懂,希望大家能掌握它,熟悉它,使用它。是不是象我們
4、的 ULIB。 7、雙手互搏,無(wú)堅(jiān)不摧 這里的測(cè)試不是指別人來(lái)測(cè)試你的代碼,而是指自己去測(cè)試。 因?yàn)槟闶菍?xiě)代碼的原作者,對(duì) 代碼的了解最深,別人不可能比你更了解,所以你自己在測(cè)試時(shí), 可以很好地去測(cè)試哪些邊 界條件,以及一些意向不到的情況。 8、活用斷言 斷言(assertion )是個(gè)很好的調(diào)試工具和方法,希望大家能多用斷言,但是并不是所有的 情況下都可以用到斷言。有些情況使用斷言反而不合適。 9、草木皆兵,不可大意 是指在寫(xiě)代碼時(shí),要小心一些輸入的情況,比如輸入文件、TCP的sockets、函數(shù)的參數(shù)等 等,不要認(rèn)為使用我們的API的用戶都知道什么是正確的、什么是錯(cuò)的,也就是說(shuō)一定要 考慮
5、到對(duì)外接口的出錯(cuò)處理問(wèn)題。 10、最咼境界,無(wú)招勝有招 最好能重用別人開(kāi)放的 意思就是說(shuō)盡量避免寫(xiě)太多的代碼,寫(xiě)的越多,出錯(cuò)的機(jī)會(huì)也越多。 接口函數(shù)或直接調(diào)用別人的api 。 以下無(wú)正文 僅供個(gè)人用于學(xué)習(xí)、研究;不得用于商業(yè)用途。 t o 員 b k ogfljirogeifcc, TOpBicnob3 groimio 麻yqeHuicic 碼 egoBua Hedo 員冶hbi ucno 員 B3OBaTbCEb KoMMepqeckux qeiix. For personal use only in study and research; not for commercial use. Nur f u r den pers?nlichen f u r Studien, Forschung, zu kommerziellen Zwecken verwendet werden. Pour l e
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子房屋買賣合同格式范本編寫(xiě)示例
- 投標(biāo)安全承諾函
- 八年級(jí)生物下冊(cè) 7.1.1 植物的生殖教案 (新版)新人教版
- 河北省安平縣八年級(jí)地理上冊(cè) 1.1 遼闊的疆域教學(xué)設(shè)計(jì) 新人教版
- 八年級(jí)物理上冊(cè) 第二章 聲現(xiàn)象 第2節(jié) 聲音的特性第2課時(shí)聲音的特性綜合應(yīng)用教案 (新版)新人教版
- 2023六年級(jí)英語(yǔ)上冊(cè) Review Module Unit 2教案 外研版(三起)
- 2024-2025學(xué)年新教材高中化學(xué) 第1章 原子結(jié)構(gòu) 元素周期表 第2節(jié) 元素周期律和元素周期表 微專題二 元素“位-構(gòu)-性”之間的關(guān)系教案 魯科版必修第二冊(cè)
- 2024-2025年高中語(yǔ)文 第3單元 單元導(dǎo)讀教案 粵教版必修1
- 2024-2025學(xué)年高中歷史 第四單元 工業(yè)文明沖擊下的改革 第15課 戊戌變法(2)教學(xué)教案 岳麓版選修1
- 雨污管道勞務(wù)包工細(xì)分合同(2篇)
- 電網(wǎng)計(jì)算機(jī)類面試題及答案
- 作文格子稿紙800字-A4打印版
- 個(gè)人住房貸款提前還款月供及節(jié)省利息EXCEL計(jì)算
- 5000字長(zhǎng)篇表白情書(shū)
- 【淺析山東省綜合交通運(yùn)輸體系下的公路交通發(fā)展11000字(論文)】
- 第三章細(xì)胞的基本結(jié)構(gòu)“大單元教學(xué)下的深度學(xué)習(xí)課堂設(shè)計(jì)”說(shuō)課課件2023-2024學(xué)年高一上學(xué)期生物人教版必修1
- 高中數(shù)學(xué)教材數(shù)學(xué)建模內(nèi)容設(shè)置的比較分析
- 特許經(jīng)營(yíng)管理手冊(cè)范本(餐飲)
- 大學(xué)進(jìn)階英語(yǔ)1智慧樹(shù)知到課后章節(jié)答案2023年下西安科技大學(xué)
- 七上解一元一次方程100道練習(xí)題(有答案)
- 質(zhì)量管理部BSC-KPI指標(biāo)庫(kù)(平衡積分卡)
評(píng)論
0/150
提交評(píng)論