.net開發(fā)人員常犯的錯(cuò)誤分析小結(jié)
更新時(shí)間:2009年03月05日 00:27:59 作者:
我最新一直在和新手和入手級(jí)開發(fā)人員打交道,我注意到一些開發(fā)人員(甚至是老手)在粗心時(shí)常犯的錯(cuò)誤。這些錯(cuò)誤各不相同,從工具的使用到網(wǎng)絡(luò)服務(wù)的適當(dāng)應(yīng)用都有。以下是六個(gè)主要的開發(fā)錯(cuò)誤。
1.認(rèn)為必須要用Visual Studio.NET來開發(fā).NET應(yīng)用
那些對(duì)微軟.NET開發(fā)不了解的人誤以為:利用.NET框架開發(fā)應(yīng)用軟件時(shí)必須要用到Visual Studio.NET。這并不正確。你只需安裝可在微軟網(wǎng)站上免費(fèi)下載的.NET框架即可。
安裝了.NET框架,你就可以應(yīng)用你最喜愛的文本編輯器和.NET工具命令行來進(jìn)行開發(fā)。而且,你還可以應(yīng)用第三方開發(fā)工具,如SharpDevelop。
欲徹底了解Visual Studio.NET有關(guān)的討論,請(qǐng)參閱以前的欄目。開發(fā)工具的選擇因人而異,但許多開發(fā)團(tuán)隊(duì)進(jìn)行標(biāo)準(zhǔn)化來簡(jiǎn)化工作。
2.獨(dú)占信息
開發(fā)人員的顯著特點(diǎn)之一即他們趨向于密藏信息。曉人所不曉的能力常常引起錯(cuò)誤的優(yōu)越感。相反,分享信息則有助于團(tuán)隊(duì)擴(kuò)充知識(shí)。另外,隨著其他團(tuán)隊(duì)成員的加入,分享的信息還可得到改進(jìn)。最后,當(dāng)你向另一個(gè)或一組開發(fā)人員解釋一個(gè)觀念或理念時(shí),你的知識(shí)也得到擴(kuò)充。
團(tuán)隊(duì)合作精神是Agile Software Development之類運(yùn)動(dòng)的驅(qū)動(dòng)力。另外,許多團(tuán)隊(duì)利用同行代碼評(píng)估(peer code reviews),即開發(fā)人員對(duì)其他開發(fā)人員的代碼進(jìn)行審查及評(píng)論,這種方法促進(jìn)了雙方的學(xué)習(xí)與理解。
3.忽略代碼注釋
給自己的代碼加注釋是一個(gè)簡(jiǎn)單而直接的方法,但為什么大家總是忽略這一點(diǎn)呢?一些開發(fā)人員錯(cuò)誤的認(rèn)為減少文件證明(任何形式的)能夠改善工作安全。這與前面討論過的獨(dú)占信息一樣,是一種謬誤。
少量合理安排的注釋能大大改善代碼的可讀性,并方便代碼的管理?,F(xiàn)在有一種過于使用注釋的趨勢(shì)?;旧蟻碚f,這些注釋應(yīng)對(duì)代碼、變量、方法等作一簡(jiǎn)要描述。許多團(tuán)隊(duì)在對(duì)代碼作出修改時(shí)喜歡插入注釋。當(dāng)(如果)出現(xiàn)問題,我們?nèi)菀渍页鲆郧白鲞^哪些修改。
4.沒有看到版本控制系統(tǒng)的價(jià)值所在
大多數(shù)開發(fā)人員都十分熟悉這種情形:你推出一個(gè)重要網(wǎng)絡(luò)應(yīng)用的新版本,第二天一大早你的手機(jī)就響個(gè)不停,里面滿是網(wǎng)站問題的叫聲。
只要你愿意承認(rèn)你可能犯過一兩個(gè)錯(cuò)誤,在這種情形下版本控制系統(tǒng)就是你最好的朋友。通過使用版本控制系統(tǒng)如CVS, IBM Rational ClearCase, 和Microsoft Visual SourceSafe,你就可以輕易地還原到以前版本的應(yīng)用軟件并進(jìn)行生產(chǎn)。這讓你有時(shí)間在生產(chǎn)地點(diǎn)已經(jīng)準(zhǔn)備好的情況下在開發(fā)環(huán)境中找出問題所在。這種方法比通過搜尋生產(chǎn)代碼來找出問題要優(yōu)越得多。
另外,源控制系統(tǒng)允許不同的團(tuán)隊(duì)成員同時(shí)開發(fā)相同的代碼。當(dāng)開發(fā)人員檢查對(duì)系統(tǒng)所作的修改時(shí),這些改變就結(jié)合起來。
一些開發(fā)人員不喜歡版本控制系統(tǒng)的原因之一是因?yàn)樗o開發(fā)過程增加了一個(gè)步驟,這意味著向源控制系統(tǒng)提交代碼并通過它來恢復(fù)代碼的過程要減慢。這個(gè)額外等待的時(shí)間打擊了一些開發(fā)人員的耐心。
5.認(rèn)為所有項(xiàng)目都需要網(wǎng)絡(luò)服務(wù)
由于對(duì)網(wǎng)絡(luò)服務(wù)的過分宣傳,許多開發(fā)人員認(rèn)為在開發(fā)項(xiàng)目時(shí)必須以某種形式用到網(wǎng)絡(luò)服務(wù)。盡管在開發(fā)過程中使用網(wǎng)絡(luò)服務(wù)可能是必要或是恰當(dāng)?shù)?,但并不是完全可能。你需要分析不同的情形,以決定是執(zhí)行網(wǎng)絡(luò)服務(wù)是否恰當(dāng)。例如,使用remoting可能更為恰當(dāng)。
6.忽視了確認(rèn)數(shù)據(jù)的重要性
在應(yīng)用代碼中,數(shù)據(jù)以不同的形式進(jìn)行處理。因?yàn)檫@一原因,開發(fā)人員應(yīng)該在開發(fā)過程中確認(rèn)數(shù)據(jù)的完整性與有效性。這就是說,數(shù)據(jù)要通過可返回零字符的終端數(shù)據(jù)庫讀取。在執(zhí)行前,就對(duì)數(shù)據(jù)進(jìn)行檢查,因?yàn)榇蠖鄶?shù)的操作中都不能使用零值。
了解是成功的一半
不管你是開發(fā)新兵還是老手,你都要意識(shí)到開發(fā)人員有犯這六個(gè)錯(cuò)誤的趨勢(shì)。即使你發(fā)現(xiàn)自己沒有這些壞習(xí)慣,你也要意識(shí)到你們團(tuán)隊(duì)中的其他開發(fā)人員可能會(huì)犯這些錯(cuò)誤。對(duì)這些潛在的錯(cuò)誤保持警惕,這樣做可以防止這些錯(cuò)誤阻礙你們團(tuán)隊(duì)的計(jì)劃。
那些對(duì)微軟.NET開發(fā)不了解的人誤以為:利用.NET框架開發(fā)應(yīng)用軟件時(shí)必須要用到Visual Studio.NET。這并不正確。你只需安裝可在微軟網(wǎng)站上免費(fèi)下載的.NET框架即可。
安裝了.NET框架,你就可以應(yīng)用你最喜愛的文本編輯器和.NET工具命令行來進(jìn)行開發(fā)。而且,你還可以應(yīng)用第三方開發(fā)工具,如SharpDevelop。
欲徹底了解Visual Studio.NET有關(guān)的討論,請(qǐng)參閱以前的欄目。開發(fā)工具的選擇因人而異,但許多開發(fā)團(tuán)隊(duì)進(jìn)行標(biāo)準(zhǔn)化來簡(jiǎn)化工作。
2.獨(dú)占信息
開發(fā)人員的顯著特點(diǎn)之一即他們趨向于密藏信息。曉人所不曉的能力常常引起錯(cuò)誤的優(yōu)越感。相反,分享信息則有助于團(tuán)隊(duì)擴(kuò)充知識(shí)。另外,隨著其他團(tuán)隊(duì)成員的加入,分享的信息還可得到改進(jìn)。最后,當(dāng)你向另一個(gè)或一組開發(fā)人員解釋一個(gè)觀念或理念時(shí),你的知識(shí)也得到擴(kuò)充。
團(tuán)隊(duì)合作精神是Agile Software Development之類運(yùn)動(dòng)的驅(qū)動(dòng)力。另外,許多團(tuán)隊(duì)利用同行代碼評(píng)估(peer code reviews),即開發(fā)人員對(duì)其他開發(fā)人員的代碼進(jìn)行審查及評(píng)論,這種方法促進(jìn)了雙方的學(xué)習(xí)與理解。
3.忽略代碼注釋
給自己的代碼加注釋是一個(gè)簡(jiǎn)單而直接的方法,但為什么大家總是忽略這一點(diǎn)呢?一些開發(fā)人員錯(cuò)誤的認(rèn)為減少文件證明(任何形式的)能夠改善工作安全。這與前面討論過的獨(dú)占信息一樣,是一種謬誤。
少量合理安排的注釋能大大改善代碼的可讀性,并方便代碼的管理?,F(xiàn)在有一種過于使用注釋的趨勢(shì)?;旧蟻碚f,這些注釋應(yīng)對(duì)代碼、變量、方法等作一簡(jiǎn)要描述。許多團(tuán)隊(duì)在對(duì)代碼作出修改時(shí)喜歡插入注釋。當(dāng)(如果)出現(xiàn)問題,我們?nèi)菀渍页鲆郧白鲞^哪些修改。
4.沒有看到版本控制系統(tǒng)的價(jià)值所在
大多數(shù)開發(fā)人員都十分熟悉這種情形:你推出一個(gè)重要網(wǎng)絡(luò)應(yīng)用的新版本,第二天一大早你的手機(jī)就響個(gè)不停,里面滿是網(wǎng)站問題的叫聲。
只要你愿意承認(rèn)你可能犯過一兩個(gè)錯(cuò)誤,在這種情形下版本控制系統(tǒng)就是你最好的朋友。通過使用版本控制系統(tǒng)如CVS, IBM Rational ClearCase, 和Microsoft Visual SourceSafe,你就可以輕易地還原到以前版本的應(yīng)用軟件并進(jìn)行生產(chǎn)。這讓你有時(shí)間在生產(chǎn)地點(diǎn)已經(jīng)準(zhǔn)備好的情況下在開發(fā)環(huán)境中找出問題所在。這種方法比通過搜尋生產(chǎn)代碼來找出問題要優(yōu)越得多。
另外,源控制系統(tǒng)允許不同的團(tuán)隊(duì)成員同時(shí)開發(fā)相同的代碼。當(dāng)開發(fā)人員檢查對(duì)系統(tǒng)所作的修改時(shí),這些改變就結(jié)合起來。
一些開發(fā)人員不喜歡版本控制系統(tǒng)的原因之一是因?yàn)樗o開發(fā)過程增加了一個(gè)步驟,這意味著向源控制系統(tǒng)提交代碼并通過它來恢復(fù)代碼的過程要減慢。這個(gè)額外等待的時(shí)間打擊了一些開發(fā)人員的耐心。
5.認(rèn)為所有項(xiàng)目都需要網(wǎng)絡(luò)服務(wù)
由于對(duì)網(wǎng)絡(luò)服務(wù)的過分宣傳,許多開發(fā)人員認(rèn)為在開發(fā)項(xiàng)目時(shí)必須以某種形式用到網(wǎng)絡(luò)服務(wù)。盡管在開發(fā)過程中使用網(wǎng)絡(luò)服務(wù)可能是必要或是恰當(dāng)?shù)?,但并不是完全可能。你需要分析不同的情形,以決定是執(zhí)行網(wǎng)絡(luò)服務(wù)是否恰當(dāng)。例如,使用remoting可能更為恰當(dāng)。
6.忽視了確認(rèn)數(shù)據(jù)的重要性
在應(yīng)用代碼中,數(shù)據(jù)以不同的形式進(jìn)行處理。因?yàn)檫@一原因,開發(fā)人員應(yīng)該在開發(fā)過程中確認(rèn)數(shù)據(jù)的完整性與有效性。這就是說,數(shù)據(jù)要通過可返回零字符的終端數(shù)據(jù)庫讀取。在執(zhí)行前,就對(duì)數(shù)據(jù)進(jìn)行檢查,因?yàn)榇蠖鄶?shù)的操作中都不能使用零值。
了解是成功的一半
不管你是開發(fā)新兵還是老手,你都要意識(shí)到開發(fā)人員有犯這六個(gè)錯(cuò)誤的趨勢(shì)。即使你發(fā)現(xiàn)自己沒有這些壞習(xí)慣,你也要意識(shí)到你們團(tuán)隊(duì)中的其他開發(fā)人員可能會(huì)犯這些錯(cuò)誤。對(duì)這些潛在的錯(cuò)誤保持警惕,這樣做可以防止這些錯(cuò)誤阻礙你們團(tuán)隊(duì)的計(jì)劃。
相關(guān)文章
C#默認(rèn)以管理員身份運(yùn)行程序?qū)崿F(xiàn)代碼
權(quán)限不夠,導(dǎo)致無法修改系統(tǒng)時(shí)間,于是我以管理員身份運(yùn)行了一次,結(jié)果測(cè)試成功,下面為大家介紹下C#如何默認(rèn)以管理員身份運(yùn)行程序2014-03-03如何為asp.net網(wǎng)站項(xiàng)目添加子項(xiàng)目
最近要給公司的電子商務(wù)網(wǎng)站添加個(gè)圈子的功能.網(wǎng)站功能本來就包含有新聞發(fā)布,會(huì)員管理,商品購物,后臺(tái)管理等,現(xiàn)在又要再加上圈子的功能,網(wǎng)站項(xiàng)目越來越復(fù)雜,每次編譯生成的dll超過100k.這樣每次修改任何一個(gè)功能中的任何一個(gè)小問題都要上傳整個(gè)dll,并導(dǎo)致整個(gè)website的首次訪問的重新編譯.2008-10-10Visual Studio 2017正式版發(fā)布 亮點(diǎn)看這里
終于等到你,最強(qiáng) IDE Visual Studio 2017 正式版發(fā)布,這篇文章主要為大家詳細(xì)解析了Visual Studio 2017正式版發(fā)布的細(xì)節(jié),亮點(diǎn)看這里2017-03-03.NET 與樹莓派WS28XX 燈帶的顏色漸變動(dòng)畫效果的實(shí)現(xiàn)
所謂顏色漸變動(dòng)畫,首先,你要確定兩種顏色——起始色和最終色,比如從綠色變成紅色,綠色是起始,紅色是終點(diǎn)。這篇文章主要介紹了.NET 與樹莓派WS28XX 燈帶的顏色漸變動(dòng)畫,需要的朋友可以參考下2021-12-12ASP.NET動(dòng)態(tài)設(shè)置頁面標(biāo)題的方法詳解
這篇文章介紹了ASP.NET動(dòng)態(tài)設(shè)置頁面標(biāo)題的方法詳解,有需要的朋友可以參考一下2013-07-07asp.net實(shí)現(xiàn)數(shù)據(jù)從DataTable導(dǎo)入到Excel文件并創(chuàng)建表的方法
這篇文章主要介紹了asp.net實(shí)現(xiàn)數(shù)據(jù)從DataTable導(dǎo)入到Excel文件并創(chuàng)建表的方法,涉及asp.net基于DataTable的數(shù)據(jù)庫及excel操作相關(guān)技巧,需要的朋友可以參考下2015-12-12