筆者認(rèn)為,初中學(xué)生應(yīng)當(dāng)養(yǎng)成的編程習(xí)慣有:代碼格式清晰、變量命名規(guī)范、添加注釋精準(zhǔn)、查錯(cuò)糾錯(cuò)得法等。要培養(yǎng)學(xué)生形成這些良好的編程習(xí)慣離不開日常教學(xué)中的嚴(yán)格訓(xùn)練和不斷積累。作為教師,除了及時(shí)的提醒和點(diǎn)撥,還可以嘗試從以下幾方面入手,讓培養(yǎng)學(xué)生的編程習(xí)慣不止于空洞的說(shuō)教。
1.從案例入手。通過展示不同編程習(xí)慣設(shè)計(jì)出的程序代碼,讓學(xué)生自己判斷孰優(yōu)孰劣,引導(dǎo)學(xué)生主動(dòng)選擇良好編程習(xí)慣,形成嚴(yán)謹(jǐn)規(guī)范的編程意識(shí)。
例如,在學(xué)習(xí)規(guī)范的編程格式時(shí),可以給學(xué)生展示規(guī)范格式和不規(guī)范格式的兩種功能相同的代碼,讓學(xué)生嘗試自己閱讀程序?qū)懗鼋Y(jié)果。通過這樣的活動(dòng)既可以讓學(xué)生感受到規(guī)范格式下程序代碼的秩序感和層次感;也可以讓學(xué)生感受到不規(guī)范格式下程序代碼的混亂。這樣學(xué)生自然會(huì)選擇更加規(guī)范、合理的編程格式。
2.從“bug”入手?!癰ug”是一個(gè)英文單詞,有“臭蟲、缺陷、損壞、犯貧、竊聽器、小蟲”等意思?,F(xiàn)在人們將在電腦系統(tǒng)或程序中隱藏著的一些未被發(fā)現(xiàn)的缺陷或問題統(tǒng)稱為bug(漏洞)。
首先教師在教學(xué)時(shí)要向?qū)W生解釋什么是bug,哪些情況下會(huì)出現(xiàn)bug,以便消除學(xué)生對(duì)于程序錯(cuò)誤的困惑和畏懼。其次,在消除了學(xué)生對(duì)程序錯(cuò)誤的畏懼感之后,教師因勢(shì)利導(dǎo)地給學(xué)生傳授一些簡(jiǎn)單的糾錯(cuò)方法。
例如根據(jù)報(bào)錯(cuò)提示來(lái)定位錯(cuò)誤,以C++為例,常見的錯(cuò)誤提示有:
①[Error]‘S’was not declared in this scope;
②[Error]no match for‘operator<’;
③[Error]expected‘}’at end of input。
這三個(gè)報(bào)錯(cuò)提示的分別是變量S未定義,運(yùn)算符“<”錯(cuò)誤,輸入語(yǔ)句后面的“{”不匹配。根據(jù)這些提示我們就可以糾正錯(cuò)誤,再嘗試運(yùn)行程序直到錯(cuò)誤被消除。此外,還可以借助編程軟件里的“單步執(zhí)行”功能時(shí)刻觀察程序運(yùn)行情況,出現(xiàn)問題及時(shí)調(diào)整即可。
3.從示范入手。教師示范和學(xué)生演示都要符合規(guī)范。初學(xué)程序設(shè)計(jì)的學(xué)生急于編寫出正確的程序,往往會(huì)模仿教師或其他同學(xué)的操作。如果教師的示范和學(xué)生的演示本身就不規(guī)范,那么久而久之學(xué)生也會(huì)形成不規(guī)范的編程習(xí)慣。
例如,對(duì)于規(guī)范變量命名,教師在演示時(shí)累加器用變量s表示,個(gè)、十、百位上的數(shù)分別用變量g、s、b來(lái)表示,for循環(huán)中的循環(huán)變量用變量i或j表示,等等。學(xué)生在演示時(shí),可以使用一些簡(jiǎn)單的變量名來(lái)代表特定的含義,例如max代表最大值、min代表最小值等。從而讓初中生逐漸過渡到更規(guī)范的命名方式。