一個(gè)程序員的一生_第1頁(yè)
一個(gè)程序員的一生_第2頁(yè)
一個(gè)程序員的一生_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、作者:佚名 我在程序員的時(shí)候,我一開始追逐這個(gè)API怎么用,數(shù)據(jù)庫(kù)SQL怎么寫更優(yōu)化,Dcom技術(shù)的細(xì)節(jié),然后我發(fā)現(xiàn)我寫出來(lái)的產(chǎn)品為了符合客戶需求必須要大量修改,但是我的代碼卻粘在了一起,第一個(gè)感覺就是一個(gè)函數(shù)太長(zhǎng),一看就頭痛,而且一個(gè)函數(shù)干了好多事。這些事本來(lái)可以一段一段的,每段寫上注釋,然后有意義命名,自己管理錯(cuò)誤和內(nèi)存,然后把這些函數(shù)連在一起,然后我作了這些:1、小函數(shù);2、寫上注釋;3、有意義命名;4、自己管理錯(cuò)誤和內(nèi)存;5、流程函數(shù);最后我發(fā)現(xiàn)我這些函數(shù)可以組合成各種各樣的流程,我的程序終于好修改了,我很高興。但是我又發(fā)現(xiàn),我的界面和我的流程混在了一起,另一個(gè)程序也想使用我的函數(shù),但

2、是我的函數(shù)中有對(duì)我的特定界面關(guān)聯(lián)的代碼,我不能連界面一起都給他,因?yàn)樗兴慕缑?,但作的事我已?jīng)實(shí)現(xiàn)了,于是我把功能函數(shù)和界面控制分開了我就作了這些,我的代碼很容易理解,即使新員工,只要他看完業(yè)務(wù)手冊(cè)和數(shù)據(jù)結(jié)構(gòu),他就明白我代碼為什么這么寫。而且我的函數(shù)由于都是自己負(fù)責(zé)輸入?yún)?shù)和輸出參數(shù)的校驗(yàn),有明確和統(tǒng)一的報(bào)錯(cuò)信息,所以很容易找到錯(cuò)誤進(jìn)行BUG修復(fù)。由于我的程序都是小函數(shù)組成的,都有明確報(bào)錯(cuò),所以錯(cuò)誤很容易找到,經(jīng)過(guò)測(cè)試組的專業(yè)測(cè)試后,我的代碼很穩(wěn)定,即使出錯(cuò),也擴(kuò)散不大,都是小bug,對(duì)系統(tǒng)整體沒(méi)有大影響雖然我在前進(jìn)的過(guò)程中也經(jīng)歷過(guò)困惑,一心鉆在OOP和設(shè)計(jì)模式中。但是有可能是功力不夠,不得

3、其解??粗鳧elphi的源碼,應(yīng)用了很多的OOP和模式,并且他的類庫(kù)多年發(fā)展也沒(méi)有多大的改變,所以深信OO和模式的威力,而對(duì)自己的能力很灰心。但是代碼還得繼續(xù)寫,還想進(jìn)一步提高,于是才摸索出現(xiàn)在的一套做法。既實(shí)用又簡(jiǎn)單應(yīng)用,每個(gè)人都能辦到。我認(rèn)為我的代碼方法已經(jīng)可以滿足現(xiàn)在的產(chǎn)品制造,并且在軟件性能調(diào)整上也積累了一些珍貴的經(jīng)驗(yàn)。我發(fā)現(xiàn)性能最容易提高也效果最明顯的就是用SQL profilter,優(yōu)化SQL。優(yōu)化代碼,因?yàn)樯婕暗綐I(yè)務(wù),很不好著手。優(yōu)化數(shù)據(jù)庫(kù)結(jié)構(gòu),由于代碼都是構(gòu)建在特定數(shù)據(jù)表之上,所以這是最難改的地方,但是我高興了沒(méi)多久,我又遇到問(wèn)題了。因?yàn)槲业某绦蚣词乖俸酶?,但是客戶的需求真是?/p>

4、奇百怪,我每天在接聽用戶的電話,并且修改用戶千奇百怪的問(wèn)題。我很煩。于是我作了實(shí)施員。我想真正看看客戶到底怎么回事。于是我理解了很多。我明白了很多的事情不是技術(shù)和軟件所能解決的,而是現(xiàn)實(shí)環(huán)境的弊病。但是這個(gè)弊病還不是一個(gè)工程就能解決的,這是一個(gè)復(fù)雜的網(wǎng)。所以這些問(wèn)題我就說(shuō)服用戶不要用軟件來(lái)處理,因?yàn)檐浖撬赖?,而人的做法是靈活的。而且我發(fā)現(xiàn)用戶雖然提了很多需求,但是有的需求他一個(gè)月用不了一次,但是修改起來(lái)卻不容易。有的需求修改完,在實(shí)際應(yīng)用中卻發(fā)現(xiàn)不可行,那個(gè)需求只是客戶想解決過(guò)去的問(wèn)題而想的一個(gè)辦法根本沒(méi)有經(jīng)過(guò)實(shí)際的校驗(yàn)。有的需求修改來(lái)修改去都是表面問(wèn)題,在實(shí)際應(yīng)用中才發(fā)現(xiàn)重點(diǎn)問(wèn)題沒(méi)有提需求

5、所以上線又?jǐn)R下了,我作了總結(jié):1、軟件擅長(zhǎng)大數(shù)據(jù)量計(jì)算和查詢,還有數(shù)據(jù)聯(lián)網(wǎng)共享,如果需求不能發(fā)揮軟件特點(diǎn),就不讓軟件實(shí)現(xiàn)。這樣我少修改了一些;2、有的需求都是表面需求,修改了也用處不大,反而耽誤了重點(diǎn)需求的提出和修改,所以告訴用戶只修改核心功能。但是用戶提了很多需求,不修改完不上線。后來(lái)發(fā)現(xiàn),由于他們沒(méi)有深刻理解我們系統(tǒng)的整體思想,所以沒(méi)有上線實(shí)際用,根本不知道新改的功能是否好用。用戶只是脫離了整體,單獨(dú)思考想怎么就怎么,沒(méi)上線根本他不知道后果,怎么說(shuō)也不行,就得讓他看見教訓(xùn)他才反悔,但是已經(jīng)修改了。往往出現(xiàn)這樣的情況。最后得出一個(gè)結(jié)論:一次只提三個(gè)需求,并且用書面提出,免的說(shuō)了不算算了不說(shuō)。

6、核心功能的需求修改可以滿足80的日常使用就上線。這樣我少修改了很多;3、并且我在實(shí)際做工程中,積累了大量的經(jīng)驗(yàn),寫成FAQ,各種成功案例,讓用戶在沒(méi)有提需求之前先看看自己到底有多少老軟件實(shí)在不能解決而才買新軟件幫助的事。新軟件就是解決你過(guò)去解決不了的事。如果你沒(méi)有解決不了的事,提什么需求;我的產(chǎn)品終于可以很快完成上線,所以可以大規(guī)模推廣市場(chǎng)了,但是我們的產(chǎn)品制造又出問(wèn)題了。因?yàn)榭蛻粼絹?lái)越多,客戶的需求越來(lái)越多。我們需要開發(fā)更多的系統(tǒng),但是我們的時(shí)間有限,我們的人手有限,而且我們的人手大多是新手。怎么辦。我們遇到了災(zāi)難。我們的代碼質(zhì)量因人而異。我們的版本管理混亂。我們的文檔沒(méi)有人編寫,大家都被分

7、配到用戶處去上線。怎么準(zhǔn)備數(shù)據(jù)字典,怎么切換系統(tǒng),怎么記錄客戶需求,怎么管理系統(tǒng),怎么修改代碼,我們沒(méi)有任何記錄?,F(xiàn)場(chǎng)不能離開程序員一步,一離開用戶出事了就不知怎么辦,沒(méi)有任何可查的資料。于是我又做了項(xiàng)目管理,我們?nèi)鄙俸芏嘁?guī)范。事有千萬(wàn),先從緊處來(lái)。寫文檔費(fèi)時(shí)間,就開會(huì)給大家講做事的經(jīng)驗(yàn)。實(shí)施和代碼修改需要什么必要規(guī)范就制定什么規(guī)范。在這期間最容易犯的錯(cuò)就是中央集權(quán),什么事都必須自己做主。下屬不管大事小事都請(qǐng)示你。我被搞的什么都干不了,都成了救火隊(duì)員。我的團(tuán)隊(duì)陷入了混亂之中,因?yàn)槲覠﹣y之中作了很多飲鴆止渴的決定。我于是又犯了一個(gè)錯(cuò)誤,我說(shuō)你們能決定的事盡量自己決定,不要問(wèn)我,我權(quán)利下放。結(jié)果是

8、:各自作各自的事,互相不通知。有的事沒(méi)人管,有的事多人修改,各有一套。我終于明白了,我作了以下總結(jié):1、項(xiàng)目經(jīng)理是找到得力的人,指導(dǎo)他們做事的方向。如果下屬不知如何作時(shí),及時(shí)提供給下屬做事方法;2、制定規(guī)范,其實(shí)也就是做事方法;3、制定計(jì)劃,分配人力去作。檢查結(jié)果;4、有緊急事務(wù)立刻做出果斷解決,繼續(xù)前進(jìn);我的團(tuán)隊(duì)終于平靜了下來(lái),但是大家都很疲憊。大家干的很累,但是由于實(shí)施和修改消耗了大量的錢,我們沒(méi)有賺錢,大家什么都沒(méi)有得到。團(tuán)隊(duì)很灰心,也很失望。我下了計(jì)劃,我自己都很灰心,大家認(rèn)為再努力也不會(huì)再有結(jié)果,所以拖拖拉拉,進(jìn)度和成本已成不可再提的事情。人,缺少了精氣神,就什么都沒(méi)有了。我們就是缺少了這些。我就開始重新建立團(tuán)隊(duì)的精神。我發(fā)現(xiàn)有人為了跳槽開始學(xué)習(xí)新的技術(shù),而這

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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)論