李寧
摘要:程序設(shè)計(jì)課程是整個(gè)計(jì)算機(jī)理論和實(shí)踐教學(xué)體系中的基礎(chǔ)課程。在理論課中學(xué)生能夠初步掌握基本算法和語(yǔ)法,但是編寫的程序質(zhì)量不高,程序可讀性、穩(wěn)定性和可重用性不好。養(yǎng)成良好的編程規(guī)范習(xí)慣是提高程序質(zhì)量和可維護(hù)性、可重用性等的重要保證,教師可以在實(shí)訓(xùn)教學(xué)環(huán)節(jié)中加強(qiáng)編程規(guī)范習(xí)慣的培養(yǎng)。
關(guān)鍵詞:實(shí)訓(xùn)教學(xué);編程風(fēng)格;高質(zhì)量代碼
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)35-0053-02
程序設(shè)計(jì)課程是各高校計(jì)算機(jī)專業(yè)必修的課程。在實(shí)際教授過(guò)程中,老師往往注重的是程序的語(yǔ)法和調(diào)試結(jié)果的正確與否,而往往忽視了代碼規(guī)范的問(wèn)題。關(guān)于不同語(yǔ)言的代碼規(guī)范化,不同的書(shū)上有不同的推薦,不同的公司有不同的要求。本文以C程序設(shè)計(jì)為例,從以下幾個(gè)方面論述編程風(fēng)格和編寫高質(zhì)量代碼的習(xí)慣培養(yǎng)。
1 標(biāo)識(shí)符命名的規(guī)范
C是一種簡(jiǎn)潔的語(yǔ)言,那么它的命名也應(yīng)該是簡(jiǎn)潔的。比較著名的命名規(guī)則有以下三種:匈牙利命名法,即標(biāo)識(shí)符的名字用一個(gè)或多個(gè)小寫字母打頭,其后是能體現(xiàn)變量用途的首字母大寫的一個(gè)單詞或多個(gè)單詞組合,例如getElenment。駱駝(Camel)命名法,即第一個(gè)單詞首字母小寫,余下的單詞首字母大寫,例如clearInterval。帕斯科(Pascal)命名法即第一個(gè)單詞首字母大寫,例如FirstChild。
1.1變量定義
2 大括號(hào)的位置、縮進(jìn)和空格空行的規(guī)范
每個(gè)結(jié)構(gòu)體的定義,數(shù)組的初始化,枚舉類型的定義,以及if,for,do,while,switch case等均會(huì)用到{}。 它是程序塊的分界符,必須同時(shí)存在。大括號(hào)的作用是把若干條語(yǔ)句捆綁在一起,形成一個(gè)語(yǔ)句塊,要執(zhí)行都執(zhí)行,要不執(zhí)行都不執(zhí)行。一行程序的開(kāi)始習(xí)慣空四個(gè)字符,對(duì)齊用tab,這樣能避免用不同的編輯工具打開(kāi)時(shí)出現(xiàn)代碼混亂。
4 運(yùn)算符與表達(dá)式的規(guī)范
C語(yǔ)言有40多個(gè)運(yùn)算符,結(jié)合性有左結(jié)合和右結(jié)合,優(yōu)先級(jí)也各不相同。這就造成了c表達(dá)式的多樣性和復(fù)雜性,經(jīng)常會(huì)出現(xiàn)一些容易使人搞混的問(wèn)題。因此,為了降低表達(dá)式的出錯(cuò)概率,應(yīng)該多使用括號(hào)明確表達(dá)式的操作順序。例如在回文數(shù)的判斷中,有如下代碼
5 指針的規(guī)范
C語(yǔ)言中如果沒(méi)有指針,C程序?qū)⒆兊玫托щy懂,因?yàn)槟銦o(wú)法在任何子函數(shù)中修改一個(gè)結(jié)構(gòu)體的內(nèi)容,這種程序類似于無(wú)狀態(tài)程序。指針的使用如果指向了垃圾內(nèi)存,也是相當(dāng)危險(xiǎn)的。
6 結(jié)束語(yǔ)
C語(yǔ)言作為一門學(xué)習(xí)計(jì)算機(jī)的基礎(chǔ)學(xué)科,初學(xué)者要掌握學(xué)習(xí)方法,要注意學(xué)習(xí)編程的風(fēng)格,便于培養(yǎng)良好的習(xí)慣。良好得編程風(fēng)格是減少錯(cuò)誤的最有效方法。作為教師應(yīng)該有這樣的責(zé)任感,可將編程的規(guī)范納入到考核的范疇,引起學(xué)生的足夠重視,規(guī)范學(xué)生書(shū)寫代碼的習(xí)慣。
參考文獻(xiàn):
[1] 小紅,惠鵬,志崗.C語(yǔ)言學(xué)實(shí)用教程[M].北京:電子工業(yè)出版社,2005.
[2] 楊靜,王浩,方寶富,等.程序設(shè)計(jì)課程教學(xué)改革探討[J].吉林大學(xué)學(xué)報(bào):信息科學(xué)版,2005(8):7-10.
[3] Andrew Koenig.高魏譯.C陷阱與缺陷[M].人民郵電出版社,2002.