摘要:面向?qū)ο蟪绦蛟O(shè)計(jì)課程在整個(gè)計(jì)算機(jī)理論和實(shí)踐教學(xué)體系中占據(jù)非常重要的地位。很多學(xué)生在學(xué)完C++課程后,能夠初步掌握基本語(yǔ)法和面向?qū)ο笤O(shè)計(jì)思想,但是編出來(lái)的程序質(zhì)量非常低,程序可讀性、穩(wěn)定性和可重用性非常差,離實(shí)際軟件開發(fā)的要求相差甚遠(yuǎn),其中部分原因就是沒有好的編程習(xí)慣。本文著重就好的C++編程習(xí)慣要求和養(yǎng)成做一些探討,希望通過(guò)平時(shí)課堂教學(xué)和課外實(shí)驗(yàn),學(xué)生可以掌握一般的編程風(fēng)格,養(yǎng)成良好的編程習(xí)慣。
關(guān)鍵詞:面向?qū)ο蟪绦蛟O(shè)計(jì);C++;編程習(xí)慣
C++是一門優(yōu)秀的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,它在C語(yǔ)言的基礎(chǔ)上發(fā)展而來(lái),C++以其獨(dú)特的語(yǔ)言機(jī)制在計(jì)算機(jī)科學(xué)的各個(gè)領(lǐng)域中得到了廣泛的應(yīng)用[1]。面向?qū)ο蟮脑O(shè)計(jì)思想是在原來(lái)結(jié)構(gòu)化程序設(shè)計(jì)方法基礎(chǔ)上的一個(gè)質(zhì)的飛躍,C++完美地體現(xiàn)了面向?qū)ο蟮母鞣N特性。對(duì)于C++這門課程的教學(xué),學(xué)生對(duì)教學(xué)大綱規(guī)定知識(shí)的掌握應(yīng)該不是特別難的事情,但是學(xué)生學(xué)完后,光是掌握這些課本知識(shí)還遠(yuǎn)遠(yuǎn)不夠,真正的軟件開發(fā)不是學(xué)好課本知識(shí)就能勝任的[2]?!昂玫拇a”應(yīng)能工作,應(yīng)當(dāng)沒有錯(cuò)誤,具有魯棒性、可讀性、可維護(hù)性和可移植性,如果能在課程的教學(xué)過(guò)程中糅合良好的編程風(fēng)格和習(xí)慣,那么就有可能使學(xué)生能夠編出接近上面所說(shuō)的“好的代碼”,達(dá)到提高教學(xué)質(zhì)量的目的[3-4]。本文從命名、注釋、縮進(jìn)和空格、空行、常量和宏、聲明和定義分開、函數(shù)、內(nèi)存分配和指針用法等方面的編程來(lái)要求學(xué)生養(yǎng)成良好的編程習(xí)慣。
1編程習(xí)慣
1.1風(fēng)格統(tǒng)一
首先要強(qiáng)調(diào)的是整個(gè)程序的編程風(fēng)格要統(tǒng)一,避免前后出現(xiàn)若干不同的編程風(fēng)格。
1.2命名
強(qiáng)化按照一定的規(guī)則(例如“匈牙利法則”)進(jìn)行變量、函數(shù)、文件的命名,原則是:含義清晰,不易混淆;不和其他模塊、系統(tǒng)API的命名空間相沖突即可。
1) 除了循環(huán)變