程序員的基本功_第1頁(yè)
已閱讀1頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、程序員的基本功程序員的基本功綜述綜述程序員是一種技術(shù)工作,在IT的發(fā)展中有相當(dāng)重要的地位,從底層硬件通訊協(xié)議的建立,到數(shù)據(jù)傳輸層的處理,到操作系統(tǒng)的建設(shè),到數(shù)據(jù)庫(kù)平臺(tái)的建設(shè),一直到應(yīng)用層上各種數(shù)據(jù)營(yíng)銷平臺(tái)的搭建,程序員都扮演著舉足輕重的角色并為IT事業(yè)的發(fā)展做出了巨大的貢獻(xiàn)。中國(guó)有很多精于編碼的人,但是在中國(guó)軟件行業(yè),尤其是網(wǎng)絡(luò)應(yīng)用開發(fā)方面誤區(qū)很大,很難形成有規(guī)模的軟件開發(fā)力量和產(chǎn)品能力,不但比美國(guó)差距甚遠(yuǎn),和印度相比也是頗有不如。這些

2、問(wèn)題不是在于中國(guó)程序員的智商和工作努力狀況,也不是在于國(guó)家和民間對(duì)開發(fā)的投入程度,而是很大程度上,是因?yàn)橛幸恍?duì)技術(shù),對(duì)程序開發(fā),對(duì)項(xiàng)目設(shè)計(jì)方面的思想誤區(qū)。這些誤區(qū),導(dǎo)致了軟件行業(yè)的產(chǎn)品化能力不足,缺乏規(guī)?;痛笮蛷?fù)用系統(tǒng)研發(fā)能力??梢哉f(shuō),改變認(rèn)識(shí)誤區(qū),是解決軟件行業(yè)小作坊模式和個(gè)體英雄模式所帶來(lái)的局限性的重要工作。中國(guó)有很多小朋友,他們十八九歲或者二十一二,通過(guò)自學(xué)也寫了不少代碼,有的代碼寫的非常漂亮,一些技術(shù)細(xì)節(jié)相當(dāng)出眾,也很有鉆研

3、精神,但是他們被一些錯(cuò)誤的認(rèn)識(shí)和觀點(diǎn)左右,缺乏對(duì)系統(tǒng),對(duì)程序的整體理解能力。有一位網(wǎng)上的朋友說(shuō)得很好,這些人實(shí)際上只是一些代碼狂(Codingfans),根本沒(méi)有資格稱為程序員。但是遺憾的是,不少小網(wǎng)絡(luò)公司的CTO就是這樣的codingfans,拿著嚇人的工資,做著嚇人的項(xiàng)目,項(xiàng)目的結(jié)局通常也很嚇人。普通程序員的基本功普通程序員的基本功作一名真正合格的程序員,或者說(shuō)真正合格完成一些代碼工作的程序員,應(yīng)該具有下列基本素質(zhì):一、團(tuán)隊(duì)精神和協(xié)

4、作能力一、團(tuán)隊(duì)精神和協(xié)作能力把此作為基本素質(zhì),并不是不重要,恰恰相反,這是程序員應(yīng)該具備的最基本的,也是最重要的安身立命之本。把高水平程序員說(shuō)成獨(dú)行俠的都是在囈語(yǔ),任何個(gè)人的力量都是有限的。即便如linus這樣的天才,也需要通過(guò)組織強(qiáng)大的團(tuán)隊(duì)來(lái)創(chuàng)造奇跡,那些遍布全球的為linux寫核心的高手們,沒(méi)有協(xié)作精神是不可想象的。獨(dú)行俠可以作一些賺錢的小軟件發(fā)點(diǎn)小財(cái),但是一旦進(jìn)入大系統(tǒng)的研發(fā)團(tuán)隊(duì),進(jìn)入商業(yè)化和產(chǎn)品化的開發(fā)任務(wù),缺乏這種素質(zhì)的人就完

5、全不合格了。二、文檔習(xí)慣二、文檔習(xí)慣說(shuō)良好的文檔是正規(guī)研發(fā)流程中非常重要的環(huán)節(jié),作為代碼程序員,30%的工作時(shí)間寫技術(shù)文檔是很正常的,而高級(jí)程序員和系統(tǒng)分析員,這個(gè)比例則要更高一些。缺乏文檔,軟件系統(tǒng)就缺乏生命力,在未來(lái)的查錯(cuò),升級(jí)以及模塊的復(fù)用時(shí)都會(huì)遇到極大的麻煩。三、規(guī)范化三、規(guī)范化、標(biāo)準(zhǔn)化的代碼編寫習(xí)慣標(biāo)準(zhǔn)化的代碼編寫習(xí)慣作為一些外國(guó)知名軟件公司的規(guī)矩,代碼的變量命名,代碼內(nèi)注釋格式,甚至嵌套中行縮進(jìn)的長(zhǎng)度和函數(shù)間的空行數(shù)字都有明

6、確規(guī)定,良好的編寫習(xí)慣,不但有助于代碼的移植和糾錯(cuò),也有助于不同技術(shù)人員之間的協(xié)作。輸協(xié)議,做應(yīng)用程序不懂中斷向量處理,這樣的技術(shù)人員,不管掌握了多少所謂的新語(yǔ)言,永遠(yuǎn)都不會(huì)有質(zhì)的提高。善于總結(jié),也是學(xué)習(xí)能力的一種體現(xiàn),每次完成一項(xiàng)研發(fā)任務(wù),完成一段代碼,都應(yīng)當(dāng)有目的地跟蹤該程序的應(yīng)用狀況和用戶反饋,隨時(shí)總結(jié),找到不足,以此逐步提高。只有這樣,程序員才可能成長(zhǎng)起來(lái)。具備以上基本素質(zhì)的人,應(yīng)當(dāng)說(shuō)是合格的程序員了。但要注意這些素質(zhì)并不是由I

7、Q決定,也不是某些課本里可以學(xué)習(xí)到的,它需要的僅僅是程序員對(duì)自己工作的認(rèn)識(shí),屬于一種意識(shí)上的問(wèn)題。高級(jí)程序員的基本功高級(jí)程序員的基本功而高級(jí)程序員,如系統(tǒng)分析員,程序項(xiàng)目的設(shè)計(jì)者,除了上述基本功外,還需要具備以下能力:一、需求分析能力一、需求分析能力對(duì)于程序員而言,理解需求就可以完成合格的代碼,但是作為研發(fā)項(xiàng)目的組織和管理者,不但要理解客戶需求,更多時(shí)候還要自行制定一些需求,為什么這么說(shuō)呢?一般而言,進(jìn)行研發(fā)任務(wù),也許是客戶提出需求,也

8、許是市場(chǎng)和營(yíng)銷部門提出的需求。這時(shí)候的研發(fā)部門,看到的不是一個(gè)完整的需求,通常只是些功能上的要求;正規(guī)些的也僅是一個(gè)完整的用戶視圖而已。但這都不夠,因?yàn)榭蛻粲捎诜羌夹g(shù)因素多一些,很難提出完整、清晰、專業(yè)性的性能需求。但是項(xiàng)目組織者和規(guī)劃者必須能夠清醒認(rèn)識(shí)到這些需求的存在,并在完成需求分析報(bào)告時(shí)適當(dāng)提出,同時(shí)還要完整清晰的體現(xiàn)于設(shè)計(jì)說(shuō)明書,以便于程序員編碼時(shí)不會(huì)失去這些準(zhǔn)則。程序設(shè)計(jì)者必須正確理解用戶需求所處的環(huán)境,并針對(duì)性做出需求的分析

9、。舉例而言,同樣一個(gè)軟件通過(guò)ASP租用方式發(fā)布和通過(guò)License方式發(fā)布,性能需求可能就有區(qū)別,前者強(qiáng)調(diào)的是更好的支撐能力和穩(wěn)定性,而后者則可更注重各種平臺(tái)下的普適性和安裝使用的簡(jiǎn)捷性。二、項(xiàng)目設(shè)計(jì)方法和流程處理能力二、項(xiàng)目設(shè)計(jì)方法和流程處理能力程序設(shè)計(jì)者必須能夠掌握不少于兩到三種的項(xiàng)目設(shè)計(jì)方法(比如自頂至下的設(shè)計(jì)方法,快速原型法等等),并能夠根據(jù)項(xiàng)目需求和資源搭配選擇合適的設(shè)計(jì)方法,進(jìn)行項(xiàng)目的整體設(shè)計(jì)。設(shè)計(jì)方法上選擇不當(dāng),會(huì)耽誤研發(fā)

10、周期,浪費(fèi)研發(fā)資源,甚至影響研發(fā)效果。程序設(shè)計(jì)者還需要在流程圖的設(shè)計(jì)和處理上花些功夫。他需要做數(shù)據(jù)流圖以確立數(shù)據(jù)詞典;需要加工邏輯流圖以形成整體的系統(tǒng)處理流程。流程有問(wèn)題的系統(tǒng),就算代碼再漂亮,每個(gè)模塊再精致,也不會(huì)成為一個(gè)好系統(tǒng)。當(dāng)然,做好流程分析、選擇好項(xiàng)目設(shè)計(jì)方法,都需要在需求分析能力上有足夠的把握。三、復(fù)用設(shè)計(jì)和模塊化分解能力復(fù)用設(shè)計(jì)和模塊化分解能力作為從事模塊任務(wù)的程序員,需要考慮對(duì)所面對(duì)的特定功能模塊的復(fù)用性,而作為系統(tǒng)分析

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論