菜鳥(niǎo)程序員第一個(gè)軟件項(xiàng)目后的心得體會(huì)
已經(jīng)將近一個(gè)月沒(méi)有寫(xiě)B(tài)LOG了,因?yàn)樽罱谧鲎约旱?**個(gè)獨(dú)立開(kāi)發(fā)的軟件項(xiàng)目——圖書(shū)館管理系統(tǒng),雖然項(xiàng)目不算很大,但在這段過(guò)程中卻真正體會(huì)了軟件設(shè)計(jì)過(guò)程中的艱辛與快樂(lè),一個(gè)個(gè)問(wèn)題解決時(shí)的快意,一個(gè)個(gè)問(wèn)題產(chǎn)生后的迷茫,都讓我回味無(wú)窮........聽(tīng)到舍友說(shuō)我在睡覺(jué)時(shí)的夢(mèng)話里都是編程,心中的感覺(jué)真是“痛并快樂(lè)著”!
現(xiàn)在軟件已經(jīng)基本完成了,剩下的軟件測(cè)試和用戶幫助文檔會(huì)輕松很多的。在軟件設(shè)計(jì)過(guò)程中,收獲了一些項(xiàng)目設(shè)計(jì)的心得是彌足珍貴的:
1.對(duì)于基于數(shù)據(jù)庫(kù)的軟件產(chǎn)品,數(shù)據(jù)庫(kù)的結(jié)構(gòu)設(shè)計(jì)是重中之重,因?yàn)槿绻麛?shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)不合理,有時(shí)會(huì)導(dǎo)致一定程度的返工,這時(shí)修改代碼所消耗的時(shí)間會(huì)讓你覺(jué)得得不償失的,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞在很大程度上決定了軟件設(shè)計(jì)的速度。
2.對(duì)于代碼的編寫(xiě),一定要字斟句酌,一個(gè)不起眼的問(wèn)題,有時(shí)甚至?xí)?dǎo)致系統(tǒng)崩潰,我在讀取數(shù)據(jù)庫(kù)的一個(gè)BOOL變量時(shí),用_variant_t var定義了一個(gè)_variant_t的變量,之后用他的.boolval接收BOOL變量,但結(jié)果會(huì)導(dǎo)致偶爾的系統(tǒng)崩潰,如果直接用var接收,則不會(huì)產(chǎn)生問(wèn)題。聽(tīng)有人說(shuō)UNIX內(nèi)核的嚴(yán)謹(jǐn)性高到就是插入一個(gè)空格都會(huì)產(chǎn)生系統(tǒng)崩潰,我覺(jué)得正說(shuō)明了這個(gè)道理,一個(gè)優(yōu)秀的軟件,代碼一定是精煉而無(wú)累贅的。
3.一定要把目標(biāo)用戶當(dāng)作什么都不懂的電腦白癡,在設(shè)計(jì)到半成品的時(shí)候,一個(gè)朋友到我這里想要看一下效果,運(yùn)行過(guò)程中他在一個(gè)不合適的時(shí)間點(diǎn)了一個(gè)不合適的按鈕,結(jié)果產(chǎn)生了錯(cuò)誤,我向他解釋,在這個(gè)時(shí)間不能有這個(gè)操作,但他卻不這么認(rèn)為,他認(rèn)為在那個(gè)時(shí)間的這種操作是合情合理的,而且理由還很充分,雖然雙方都有理,但從用戶的角度考慮卻認(rèn)為這不是一個(gè)合格的軟件,所以,不要假想用戶會(huì)了解軟件設(shè)計(jì)的詳細(xì)過(guò)程,也不要想當(dāng)然的認(rèn)為用戶會(huì)耐心的看用戶幫助文檔。
4.好的編程習(xí)慣是很有必要的,在代碼編寫(xiě)過(guò)程中,我始終堅(jiān)持用英文表示變量,保證每行都有嚴(yán)格的首行縮進(jìn),每一個(gè)堆棧中的變量及時(shí)的DELETE,這都使我在后期的代碼修改和優(yōu)化時(shí)受益很多。
就這些了,另外,也許是***次做項(xiàng)目的原因,自己的成就感和工程文件的數(shù)目是成正比的。哈哈?。?/p>
原文鏈接:http://blog.csdn.net/czlt86/article/details/1654688
【編輯推薦】