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

論提高計(jì)算機(jī)專業(yè)學(xué)生的程序開(kāi)發(fā)能力

2008-01-01 00:00:00韓國(guó)勇趙洪鑾勾紅領(lǐng)
計(jì)算機(jī)教育 2008年4期

摘要:程序開(kāi)發(fā)能力和計(jì)算機(jī)應(yīng)用能力是檢驗(yàn)計(jì)算機(jī)專業(yè)教學(xué)的兩個(gè)重要手段,筆者結(jié)合自己的軟件開(kāi)發(fā)經(jīng)驗(yàn)和教學(xué)經(jīng)歷,從學(xué)、讀、思、練、實(shí)踐和好習(xí)慣等6個(gè)方面探討了如何提高計(jì)算機(jī)專業(yè)學(xué)生的程序開(kāi)發(fā)能力。

關(guān)鍵詞:學(xué)習(xí);實(shí)踐;程序;能力

中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B

高等教育的目的有兩個(gè),從社會(huì)角度來(lái)講是起濾網(wǎng)的作用,為社會(huì)提供不同類型、不同層次的人才;從人的角度來(lái)講是盡可能的發(fā)展個(gè)人的潛力,讓個(gè)人在社會(huì)中找到自己的位置。

作為計(jì)算機(jī)專業(yè)的老師,除了注重學(xué)生計(jì)算機(jī)基礎(chǔ)能力的培養(yǎng)外,還要注重學(xué)生專業(yè)應(yīng)用能力和專業(yè)擴(kuò)展能力的培養(yǎng),這樣學(xué)生才能適應(yīng)社會(huì)發(fā)展的需要;作為計(jì)算機(jī)專業(yè)的學(xué)生,必須提高自己的知識(shí)綜合運(yùn)用能力和程序開(kāi)發(fā)能力,這樣才能在知識(shí)日新月異的時(shí)代占有一席之地。筆者結(jié)合自己的軟件開(kāi)發(fā)經(jīng)驗(yàn)和教學(xué)經(jīng)歷,加上對(duì)學(xué)生的了解,從學(xué)、讀、思、練、實(shí)踐和好習(xí)慣6個(gè)方面來(lái)談一下如何提高學(xué)生的程序開(kāi)發(fā)能力。

1 學(xué)

所謂學(xué)就是學(xué)習(xí),認(rèn)真學(xué)習(xí)程序開(kāi)發(fā)基礎(chǔ)課程和專業(yè)課程,不斷地學(xué)習(xí)新的、先進(jìn)的開(kāi)發(fā)工具;只有扎實(shí)的理論基礎(chǔ),編程才能游刃有余,才能寫(xiě)出高水平的代碼,才能開(kāi)發(fā)出高質(zhì)量的程序。

首先學(xué)好程序開(kāi)發(fā)的最基礎(chǔ)的課程一一C語(yǔ)言,然后根據(jù)應(yīng)用范圍不同而選擇學(xué)習(xí)研究不同的開(kāi)發(fā)工具。底層開(kāi)發(fā)一般使用C和匯編;大型或者游戲軟件開(kāi)發(fā)使用C或C++,一般用VC++或BC++;網(wǎng)頁(yè)編程可以選擇ASP、PHP或JSP;電子商務(wù)方面選擇.NET或J2EE;網(wǎng)絡(luò)應(yīng)用一般選擇JAVA。不過(guò)像數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫(kù)、英語(yǔ)、數(shù)學(xué)等課程,無(wú)論哪個(gè)方面的開(kāi)發(fā)都需要學(xué)。

一般的基礎(chǔ)課程有計(jì)算機(jī)基礎(chǔ)、C語(yǔ)言、VB程序設(shè)計(jì)、數(shù)據(jù)庫(kù)原理、數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計(jì)等,學(xué)習(xí)程序開(kāi)發(fā)的基礎(chǔ)課程主要是學(xué)習(xí)一門(mén)語(yǔ)言,一門(mén)數(shù)據(jù)庫(kù),一門(mén)算法設(shè)計(jì)。基礎(chǔ)越牢固,編程效率越高,這一點(diǎn)在程序開(kāi)發(fā)中會(huì)慢慢體會(huì)到。如果基礎(chǔ)課程不牢固,可能也能編軟件,但是很難開(kāi)發(fā)出高水平的程序。

例如一般的程序會(huì)遇到費(fèi)用問(wèn)題,有費(fèi)用就要考慮費(fèi)用的大寫(xiě)問(wèn)題,那么怎樣實(shí)現(xiàn)費(fèi)用的大小寫(xiě)轉(zhuǎn)換呢?首先考慮算法設(shè)計(jì),然后考慮算法實(shí)現(xiàn)。考慮算法時(shí)就要考慮從左向右轉(zhuǎn)換還是從右向左轉(zhuǎn)換,確定后就可以通過(guò)循環(huán)控制結(jié)構(gòu)來(lái)實(shí)現(xiàn)轉(zhuǎn)換;中間用判斷結(jié)構(gòu)來(lái)判斷如果為零或中間有零的特殊情況等等。這樣一個(gè)問(wèn)題就通過(guò)簡(jiǎn)單的算法和基本控制結(jié)構(gòu)實(shí)現(xiàn)了,所以程序開(kāi)發(fā)必須有扎實(shí)的理論基礎(chǔ),這些理論基礎(chǔ)來(lái)源于自己不斷地學(xué)習(xí)。

另外,很多的課程告訴我們一些程序的效率問(wèn)題,例如數(shù)據(jù)庫(kù)設(shè)計(jì)中提到了SQL語(yǔ)句,我們最先想起的就是Select語(yǔ)句,在數(shù)據(jù)量比較大的情況下,Select語(yǔ)句的查詢速度和數(shù)據(jù)庫(kù)中表的索引有很大的關(guān)系。但是很多情況下Select語(yǔ)句是不使用索引的,如果在Select語(yǔ)句中的where條件中出現(xiàn)下列情況的不使用索引:列上有數(shù)學(xué)運(yùn)算的,列上使用substr字符串函數(shù)的,‘%’通配符在第一個(gè)字符的,在列上使用字符串連接(II)的等等,那么在對(duì)大量的數(shù)據(jù)進(jìn)行查詢時(shí),不考慮以上情況的話,SQL語(yǔ)句的效率就比較低,所以只有不斷地學(xué)習(xí)好程序開(kāi)發(fā)的基礎(chǔ)課程,學(xué)習(xí)好各種工具的應(yīng)用,才能寫(xiě)出高效率的代碼。

2 讀

所謂的讀就是讀教材、讀程序、讀網(wǎng)上資料,然后把看到的經(jīng)典代碼和好的算法整理出來(lái),逐個(gè)消化、吸收,轉(zhuǎn)變?yōu)樽约旱闹R(shí),提高自己的程序開(kāi)發(fā)能力。讀他人的代碼時(shí)不要單純地模仿,思想才是最重要的,主要是去理解別人的思想,讀完后思考自己是否能寫(xiě)出更精煉、更有效的程序。多與他人交流,從交流中學(xué)習(xí)提高。

3 思

首先,事前思考有沒(méi)有可行性。給你一個(gè)課題或一個(gè)項(xiàng)目,最先做的是思考可行性問(wèn)題,包括技術(shù)可行性、經(jīng)濟(jì)可行性、法律可行性。如果給你一個(gè)悖論讓你用程序來(lái)實(shí)現(xiàn),本身是一個(gè)悖論,編寫(xiě)程序肯定陷入死循環(huán),怎么可能解決呢?

其次,事中考慮有沒(méi)有更好的解決方案。微軟給了我們很好的思路,比如登錄界面、保存、輸入格式的限制和輸入范圍的限制等。登錄界面一般有用戶名和登錄密碼,并且默認(rèn)上次成功登錄系統(tǒng)的用戶名,輸入的密碼顯示為一串“*”,在這些操作中可以只使用鍵盤(pán)。那么我們開(kāi)發(fā)的程序中的登錄界面是否也可以這樣呢?我們常用Woed和Excel,能設(shè)置定期保存,我們開(kāi)發(fā)的程序是否需要實(shí)現(xiàn)定期保存?如何實(shí)現(xiàn)?其實(shí)我們可以在程序登錄時(shí)記錄系統(tǒng)時(shí)間,在一定的時(shí)間間隔內(nèi)實(shí)現(xiàn)備份,最簡(jiǎn)單的就是書(shū)寫(xiě)代碼調(diào)用Winrar實(shí)現(xiàn)文件的壓縮備份。一些輸入的限制要根據(jù)內(nèi)容的邏輯進(jìn)行判斷到底應(yīng)該輸入的內(nèi)容或范圍是什么?例如有的月份能輸入31日,有的就不能,這都需要進(jìn)行邏輯判斷。如果通過(guò)代碼來(lái)控制,如何實(shí)現(xiàn)呢?開(kāi)發(fā)程序時(shí)如果我們思考類似的細(xì)節(jié),并想辦法實(shí)現(xiàn),實(shí)現(xiàn)的過(guò)程就是我們程序開(kāi)發(fā)能力提高的過(guò)程。

最后,事后考慮有沒(méi)有需要完善的,代碼有沒(méi)有需要優(yōu)化的。下面舉個(gè)代碼優(yōu)化的例子,求一元二次方程ax2+bx+c=0的根,其中a、b、c為任意實(shí)數(shù),這個(gè)例子很經(jīng)典,多數(shù)開(kāi)發(fā)語(yǔ)言或程序設(shè)計(jì)的教材中都講到過(guò)。實(shí)現(xiàn)的步驟是先判斷a是否為0,再判斷b2-4ac是否為0,根據(jù)相應(yīng)的值求方程的根;a是否為0,必須判斷,因?yàn)槿绻鸻為0,就不是一元二次方程,但是很多教材中沒(méi)有提到;在判斷b2-4ac是否為0時(shí),需要這樣判斷fabs(b2-4ac)<=le-6,因?yàn)樵谟?jì)算機(jī)中,儲(chǔ)存實(shí)數(shù)一般都有誤差。所以事后必須思考,思考程序有無(wú)需要完善的功能,有無(wú)需要優(yōu)化的代碼,完善的過(guò)程就是程序開(kāi)發(fā)能力提高的過(guò)程。

4 練

所謂練就是動(dòng)手做練習(xí),教材上的例題、課后習(xí)題都是很好的素材,都是編者經(jīng)過(guò)深思熟慮的結(jié)果,很有代表性。邊練習(xí),邊理解,邊思考,多問(wèn)為什么?然后根據(jù)自己的思考和理解對(duì)例子做一定的改動(dòng),看執(zhí)行結(jié)果是否和自己期望的一樣?出現(xiàn)問(wèn)題就設(shè)法調(diào)試、改正、編譯使其通過(guò)。例如有很多循環(huán)的例子,是否可以實(shí)現(xiàn)for循環(huán)和while循環(huán)相互轉(zhuǎn)化,只有通過(guò)自己的實(shí)際轉(zhuǎn)換后才能體會(huì)各個(gè)循環(huán)的特點(diǎn)。

練習(xí)要分階段分步驟,開(kāi)始編一些趣味性的程序;然后當(dāng)積累到一定程度,就可以按照自己的想法編一些實(shí)用性強(qiáng)的程序,當(dāng)然可以從借鑒別人的勞動(dòng)成果開(kāi)始:最后,系統(tǒng)地學(xué)習(xí)軟件工程,完全按照軟件生命周期的6個(gè)階段來(lái)做,通過(guò)不斷地練習(xí),不斷地完善軟件過(guò)程,提高程序開(kāi)發(fā)能力。

5 實(shí)踐

如果有機(jī)會(huì),可以做實(shí)際的項(xiàng)目工程,在實(shí)踐中不斷地鍛煉自己的其他能力,如邏輯思維能力、業(yè)務(wù)能力、溝通交流能力。

邏輯思維能力是程序開(kāi)發(fā)能力的基礎(chǔ),只有良好的邏輯思維能力才能開(kāi)發(fā)出高性能的程序,才能保證程序的正確性。

業(yè)務(wù)能力和溝通交流能力是必需的,如果不懂業(yè)務(wù),就不知道用戶的需求,就不可能開(kāi)發(fā)出適合用戶的程序。

實(shí)踐的項(xiàng)目不在大小,在于實(shí)踐的經(jīng)歷。通過(guò)實(shí)踐知道在實(shí)施項(xiàng)目中除了程序開(kāi)發(fā)能力外還需要其他的能力,通過(guò)實(shí)踐知道項(xiàng)目的實(shí)施過(guò)程和環(huán)節(jié)。在實(shí)施的過(guò)程中遇到的各種各樣的問(wèn)題,使我們明白在程序開(kāi)發(fā)中怎樣思考、解決這些問(wèn)題。例如在培訓(xùn)用戶時(shí),發(fā)現(xiàn)用戶對(duì)我們的業(yè)務(wù)流程不適應(yīng),用戶自己的業(yè)務(wù)流程比較簡(jiǎn)單,那么我們?cè)诔绦蜷_(kāi)發(fā)時(shí)就可以借鑒用戶的流程,使我們的操作流程更簡(jiǎn)捷。在測(cè)試階段發(fā)現(xiàn)用戶經(jīng)常使用業(yè)務(wù)回退功能,那么我們就給主要的業(yè)務(wù)流程都加上業(yè)務(wù)回退功能,使系統(tǒng)功能更完善。在維護(hù)階段發(fā)現(xiàn)維護(hù)人員看不明白代碼,那么在程序開(kāi)發(fā)階段就要注意良好的程序開(kāi)發(fā)風(fēng)格并增加適量的注釋,保障程序的可理解性,提高土作效率。

6 好習(xí)慣

(1)先思后行:在程序開(kāi)發(fā)前或解決問(wèn)題前,先考慮該問(wèn)題是否有可行性,有可行性再考慮計(jì)劃和實(shí)施。

(2)有備無(wú)患:程序開(kāi)發(fā)之前,先找一些樣例程序仔細(xì)研究,應(yīng)該包含哪些基本功能?里面一些難度大的算法應(yīng)該怎樣實(shí)現(xiàn)?不打無(wú)準(zhǔn)備之仗。

(3)按部就班:程序開(kāi)發(fā)要遵循軟件的生命周期,按照制定計(jì)劃、需求分析、軟件設(shè)計(jì)、程序編碼、軟件測(cè)試和運(yùn)行維護(hù)這6個(gè)階段來(lái)實(shí)現(xiàn)和完善軟件,不可越級(jí)。

(4)見(jiàn)名知意:程序再小,用的變量也不會(huì)少,變量起名應(yīng)當(dāng)“見(jiàn)名知意”,這樣可大大提高程序的易理解性和易修改性。

(5)開(kāi)發(fā)規(guī)范:程序要書(shū)寫(xiě)規(guī)范,形成良好的程序風(fēng)格,這樣程序才層次清晰,易于理解。

(6)多加注釋:對(duì)程序中自定義的變量、函數(shù)、子程序加以功能性的注釋說(shuō)明,好的程序中注釋能占到整個(gè)代碼的30%甚至50%,注釋最根本目的就是增加程序的可理解性。

(7)環(huán)境保護(hù):如果應(yīng)用程序需要修改系統(tǒng)設(shè)置,記著執(zhí)行程序前先保存設(shè)置,結(jié)束后要恢復(fù)設(shè)置,千萬(wàn)別污染系統(tǒng)。

(8)拿來(lái)主義:一個(gè)人的力量是有限的,大家的力量是無(wú)限的,平時(shí)多看書(shū),有好的經(jīng)驗(yàn)方法、用得上的段子不妨拿來(lái);拿來(lái)先明白、再消化吸收、最后變?yōu)樽约旱闹R(shí)。

主站蜘蛛池模板: 久久综合婷婷| 日韩欧美国产综合| 国产99在线观看| 在线看片免费人成视久网下载| 国产a v无码专区亚洲av| 老司机精品99在线播放| www.狠狠| 久久久久无码国产精品不卡| 97在线碰| 亚洲欧美国产视频| 99精品国产高清一区二区| 喷潮白浆直流在线播放| 日韩欧美中文| 尤物成AV人片在线观看| 97成人在线视频| 亚洲成人黄色在线| 久久五月视频| 欧美国产菊爆免费观看| 中文字幕在线观看日本| 人妖无码第一页| 日韩无码黄色| 国产精品13页| 999国产精品永久免费视频精品久久 | 波多野结衣无码AV在线| 有专无码视频| 91青青草视频在线观看的| 国产国产人在线成免费视频狼人色| 色综合天天视频在线观看| 国产www网站| 无码人中文字幕| 精品综合久久久久久97超人| 亚洲成人精品| 欧洲极品无码一区二区三区| 91偷拍一区| 亚洲 欧美 偷自乱 图片| 国产在线欧美| 黄色网页在线观看| 亚洲一级毛片免费看| 激情在线网| 亚洲一区国色天香| 国产va在线观看免费| 黄色网站在线观看无码| a级毛片免费播放| 精品国产一二三区| 亚洲一欧洲中文字幕在线| 久热中文字幕在线观看| 性欧美在线| 成人在线天堂| 亚洲欧美日韩精品专区| 久久这里只有精品2| 久久一本日韩精品中文字幕屁孩| 在线观看无码av免费不卡网站| 国产成人喷潮在线观看| 91福利国产成人精品导航| 国产福利影院在线观看| 97国产一区二区精品久久呦| 国产免费好大好硬视频| 亚洲精品桃花岛av在线| 狠狠v日韩v欧美v| 97一区二区在线播放| 国产免费a级片| 四虎永久免费地址| 国产色偷丝袜婷婷无码麻豆制服| 国产亚洲第一页| 中文字幕亚洲乱码熟女1区2区| 国产自产视频一区二区三区| 在线观看国产小视频| 99在线视频免费| 在线99视频| 国产自在线播放| Aⅴ无码专区在线观看| 亚洲色欲色欲www在线观看| 久青草国产高清在线视频| 亚洲最新在线| 亚洲国产看片基地久久1024| 午夜人性色福利无码视频在线观看| 亚洲精品无码AV电影在线播放| 很黄的网站在线观看| 国产二级毛片| 美女无遮挡拍拍拍免费视频| 乱系列中文字幕在线视频| 亚洲伊人电影|