999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

高效程序設計的七個習慣

2017-05-12 09:53:01文艾陳衛衛
計算機教育 2017年4期
關鍵詞:習慣

文艾+陳衛衛

(解放軍理工大學 指揮信息系統學院,江蘇 南京 210007)

摘 要:分析大學生難以掌握程序設計技能的問題,提出學生的程序設計習慣是導致上述問題的關鍵因素。根據程序設計和教學方面的經驗,總結出高效程序設計的七個習慣,并說明實踐過程,最后指出這些習慣可有效提高學員的程序設計效率。

關鍵詞:程序設計;習慣;編碼;迭代

1 背 景

程序設計是計算機及相關專業學生必須掌握的一門重要技能。然而,從歷年畢業生的學習情況來看,能夠較好地掌握程序設計能力的學生只是一小部分,還有相當一部分學生無法順利地設計程序,甚至不會編程,其中不乏高分學生。為何同樣的課程設置、同樣的教材,甚至同一個教師,學習結果有如此差異?針對上述問題,已有很多研究和解決方案[1-3]。筆者從學生個體差異的角度進行分析,認為智力不是上述問題的關鍵因素,因為對同一所大學的學生來說,除特別突出者,絕大部分學生處在同一水平,而每個學生在程序設計學習和實踐過程中的個人習慣,才是導致上述現象的關鍵因素。

為此,筆者根據程序設計開發和教學方面的經驗,總結出高效程序設計的七個習慣,并利用學院的本科生導師制,將這些習慣的養成貫穿到人才培養的各個方面。

2 高效程序設計的七個習慣

高效程序設計的七個習慣分別是:①先找輪子;②從最簡出發;③讓程序先跑起來;④友好編碼;⑤即時驗證;⑥無損迭代;⑦定期備份。

2.1 先找輪子

在進行程序設計之前,不要急于開始編碼,而是要盡可能地找到與設計目標相對應的實現,稱之為“輪子”。在互聯網上,程序設計的資源非常豐富,尤其隨著開源運動的蓬勃發展,小到一個簡單的Hello World程序,大到操作系統,都有開源實現。對于初學者,先找到輪子,就可以站在巨人的肩膀上,快速進入某個專業領域。比如,設計一個分布式文件系統,如果從零開始,會非常復雜,如果能找到MFS(一個開源的分布式文件系統),就可以從使用、設計到編碼實現,全方位地進行學習和借鑒,會大大節省時間,并迅速累積經驗;又如,JPEG圖片的編碼和解壓功能,如果從零開始實現,不但需要掌握JPEG算法原理,還要考慮實現的效率,在時間和可行性上是不可接受的,如果能找到JPEG的開源實現,然后在此基礎上進行修改,適配需求,就會大大節省時間。

2.2 從最簡出發

設計一個復雜程序的時候,不要試圖一次實現整個程序,應該先實現其最核心的功能,然后進行多次迭代,形成最終的版本。程序從本質上講,就是邏輯的組合,一次實現這些復雜的邏輯,對開發者來說,可能無法把控,有時即便實現了,穩定性也無法保證。在實現之前,可以先對這些邏輯進行分解,確定哪些是核心、是不可再分的,哪些可以后續進行組合,再按照先核心、后外圍的順序進行開發。比如,要實現一個聊天軟件,其最核心的功能就是網絡通信,因此,可以先實現Server端和Client端的網絡通信,然后在此基礎上定義消息、完善功能。又如,用硬件語言實現CPU時,如果先對指令進行分類,然后實現代表指令,構建數據通路,后續的指令就可以線性添加,不需要改變數據通路和狀態機,只需要改變控制信號,這樣整個CPU的復雜邏輯就可以實現。

2.3 讓程序先跑起來

無論是設計程序還是學習代碼,讓程序跑起來都是第一要義。如果是設計程序,一開始就讓程序跑起來,可以及時對程序邏輯進行驗證,從而避免錯誤的累積;如果是學習代碼,讓程序跑起來可以直接觀察程序的運行狀態和輸出結果,必要時還可以進行調試,這樣可以快速理解代碼的含義和設計機制。

2.4 友好編碼

友好編碼是指編寫代碼時,要遵守一定的編碼規范,具體來說包括文件、目錄、變量、函數的命名規則、代碼縮進與對齊、注釋風格等。不同的語言有不同的規定,例如C語言的代碼風格和Java語言就有所區別,即使是同一種語言,也可能有多種風格,應盡量選取大多數人遵循的風格。再如,在Linux平臺下設計C程序,就可以參照內核代碼或者平臺軟件(如GCC)的代碼風格。

2.5 即時驗證

即時驗證是指對代碼進行一定修改后,要及時驗證,有效防止錯誤的累積。由于修改前的代碼已經過驗證,因此,修改后如果出現錯誤,可以根據提示信息,比照修改的代碼部分,迅速定位。即時驗證包括語法驗證和語義驗證。一般來說,一旦做出代碼修改,就應立即進行語法驗證,即重新編譯、鏈接代碼;而一旦完成某個邏輯功能的修改,應立即進行語義驗證,運行相應的測試用例。

2.6 無損迭代

無損迭代是指在擴展功能時,要注意新增代碼不能影響原有代碼的穩定性。在具體實施中,功能的增加盡可能采用代碼追加的方式實現,而不是重構代碼,這樣雖然可能導致代碼冗余,但是程序的原有功能沒有改變,新增功能即使有問題,也可以迅速定位。

2.7 定期備份

定期備份的重要性不言而喻,最重要的是要形成習慣并長期堅持。此外,備份的對象不僅包括代碼,也應包括開發環境等;備份的存儲對象,不僅在本機,也可實時備份到移動設備或者網絡;為了方便版本管理,可以利用git等優秀工具;對于非常重要的代碼和文件,除了使用git進行備份外,還應進行完全備份。

上述習慣對于高效程序設計有非常重要的作用,具體體現在以下幾個方面。

(1)加速程序開發。先找到輪子可以讓程序開發基于已有的實現,而不需要從零開始編碼。

(2)減少出錯。讓程序先跑起來可以檢查程序的語法錯誤,同時可以動態調試程序,減少出錯;即時驗證可以立即驗證程序的語法和語義錯誤,將錯誤限定在最近一次修改中,便于快速定位錯誤。

(3)確保復雜程序的可靠性。從最簡出發使程序的邏輯遵循從簡單到復雜的順序,確保每個簡單程序的正確性,確保最終復雜程序的可靠性;無損迭代可以使程序在添加新功能后,原有功能的可靠性不受影響。

(4)提升協作效率。友好編碼可以使程序的編碼遵循統一風格,提升團隊協作開發的效率。

(5)確保開發進程的可靠性。定期備份可以確保整個開發進行中所需資源的可靠性,避免資源丟失后的重復勞動。

3 實踐結果

近年來,筆者共隨機選取22人參加高效程序習慣的養成實踐,結果表明學員掌握程序設計技能的時間大幅縮短,且程序設計的水平相對普通學員普遍較高。參與該實踐的學員中,獲得畢業設計良好以上的有20人次,獲得全國軟件大賽一等獎9人次、二等獎7人次,還獲得多項大學程序競賽獎。在2013年,有學員作為江蘇高校的唯一代表,獲得第三屆中科杯全國軟件大賽一等獎(一等獎覆蓋率不到千分之三),是當時軍隊院校參賽以來的最好成績;在2014年,學員獲得第五屆藍橋杯全國軟件大賽團隊賽選拔賽一等獎(一等獎覆蓋率不到百分之五),也是當時軍隊院校參賽以來的最好成績;在2015年,參與實踐的4名本科合訓學員作為軍隊唯一代表,參加首屆全國高校云計算應用創新大賽,面對與全國14支985、211大學的博士、碩士團隊的競爭,他們沉著應戰,獲得大賽最高獎項——特等獎,新華日報、解放軍報、網易新聞等對此進行了報道。由于上述學員均來自“本科生導師制”隨機分配的學員,并未擇優選取,因此樣本具有普遍性。

4 結 語

實踐結果表明,高效程序開發的七個習慣可以幫助學生在有限的時間內,快速掌握程序設計技能,提升獨立解決問題的能力。要實現高效程序設計,僅僅明白上述七個習慣遠遠不夠,重要的是將它們轉化成程序設計中不易改變的習慣。因此,研究如何讓學員更高效和牢固地養成上述習慣是下一步工作的方向。

第一作者簡介:文艾,男,講師,研究方向為云計算、大數據開發,hdfsha@126.com,

參考文獻:

[1]丁金鳳. 基于計算思維的程序設計類課程教學實踐[J]. 計算機教育, 2012(15): 65-68.

[2]陳杰華. 程序設計課程中強化計算思維訓練的實踐探索[J]. 計算機教育, 2009(20): 84-85.

[3]劉振華. 計算機應用型本科人才程序設計能力培養[J]. 計算機教育, 2010(12): 38-40.

(編輯:孫怡銘)

猜你喜歡
習慣
如何養成好的睡眠習慣?
中老年保健(2021年7期)2021-08-22 07:43:14
習慣(外二首)
四川文學(2021年6期)2021-07-22 07:50:16
在思考習慣之上進行表達
讓思考成為一種習慣
習慣
幽默大師(2019年6期)2019-01-14 10:38:13
當你不喜歡,你就不習慣
文苑(2018年20期)2018-11-09 01:36:02
你總要習慣一個人
文苑(2018年19期)2018-11-09 01:30:18
讓優秀成為習慣
好習慣
好習慣,“約”嗎
主站蜘蛛池模板: 大学生久久香蕉国产线观看 | 久久99精品久久久久纯品| 欧美丝袜高跟鞋一区二区| 日本一区二区三区精品视频| 99视频国产精品| 国产精品开放后亚洲| 成人91在线| 手机成人午夜在线视频| 亚洲天堂2014| 超碰色了色| 国产精品私拍在线爆乳| 亚洲免费三区| 亚洲色欲色欲www在线观看| 国产精品三级av及在线观看| 免费高清a毛片| 成AV人片一区二区三区久久| 狠狠色婷婷丁香综合久久韩国| 91久久偷偷做嫩草影院精品| 欧美午夜一区| 成人欧美日韩| 欧美视频二区| 亚洲无码熟妇人妻AV在线| 日本一本正道综合久久dvd| 最新国产精品鲁鲁免费视频| 国产成人福利在线视老湿机| 亚洲精品777| 欧美日韩激情| 香蕉网久久| 99久久精品无码专区免费| 综合色区亚洲熟妇在线| 天堂岛国av无码免费无禁网站| 亚洲综合二区| 老司机aⅴ在线精品导航| 国产精品国产主播在线观看| 欧美在线精品一区二区三区| 99福利视频导航| 国产原创演绎剧情有字幕的| 国产无码精品在线播放 | 亚洲一区二区成人| 亚洲视频在线观看免费视频| 日本在线视频免费| 青青草原国产av福利网站| 午夜国产精品视频| 久久频这里精品99香蕉久网址| 久操线在视频在线观看| 亚洲人成在线精品| 曰韩免费无码AV一区二区| 欧美激情视频二区| 高清免费毛片| 久久久精品无码一区二区三区| 久久五月天国产自| 极品国产一区二区三区| 九色在线观看视频| 国产一区二区人大臿蕉香蕉| 国产伦精品一区二区三区视频优播| 亚洲三级电影在线播放| 国产日韩AV高潮在线| 好吊色妇女免费视频免费| 久热精品免费| 久久99久久无码毛片一区二区| 亚洲无线视频| 无码日韩人妻精品久久蜜桃| 欧美亚洲香蕉| 一级全黄毛片| 久久黄色视频影| 91久久国产热精品免费| 日韩精品一区二区三区免费在线观看| 婷婷在线网站| 九九热这里只有国产精品| 色国产视频| 538精品在线观看| 免费午夜无码18禁无码影院| 国产黄在线免费观看| 久热这里只有精品6| 日韩欧美综合在线制服| av一区二区无码在线| 欧美激情视频一区二区三区免费| 亚洲a级毛片| 国产精品亚洲一区二区在线观看| 国产精品人莉莉成在线播放| 无码精品国产VA在线观看DVD| 天堂成人av|