不平凡軟件,始于2014
首頁(yè) | 加入收藏 | 設(shè)為首頁(yè)
不平凡軟件,始于2014
首頁(yè) | 加入收藏 | 設(shè)為首頁(yè)
您當(dāng)前的位置:首頁(yè) > 軟件開(kāi)發(fā)知識(shí)>詳細(xì)
鄭州做軟件-每個(gè)軟件工程師應(yīng)該知道的20條編程經(jīng)驗(yàn)
鄭州軟件開(kāi)發(fā)會(huì)持續(xù)更新這些經(jīng)驗(yàn),不平凡軟件可能還會(huì)有更多的感想,但就我這些年來(lái)看,想下面這個(gè)列表中基本不需要增添額外的東西了。下面就是我們至今最難忘的經(jīng)驗(yàn)。
估算解決問(wèn)題所需要的時(shí)間。
不要怕,承認(rèn)吧!我曾見(jiàn)過(guò)一些程序員為了解決一個(gè)特殊問(wèn)題而坐在顯示器前面8小時(shí)。為自己定一個(gè)時(shí)間限制吧,1小時(shí)、30分鐘或甚至15分鐘。如果在這期間你不能解決問(wèn)題,那就去尋求幫助,或到網(wǎng)上找答案,而不是嘗試去做“超級(jí)堆碼員”。
編程語(yǔ)言是一種語(yǔ)言,只是一種語(yǔ)言。
隨著時(shí)光推移,只要你理解了一種語(yǔ)言的原理,你會(huì)發(fā)現(xiàn)各種語(yǔ)言之間的相似之處 。你所選擇的語(yǔ)言,你應(yīng)該覺(jué)得“舒服”,并且能夠?qū)懗鲇行Вǘ液?jiǎn)潔)的代碼。最重要的,讓語(yǔ)言去適應(yīng)項(xiàng)目,反之亦然。
不要過(guò)于注重程序的“設(shè)計(jì)模式”。
有時(shí)候,寫(xiě)一個(gè)簡(jiǎn)單的算法,要比引入某種模式更容易。在多數(shù)情況下,程序代碼應(yīng)是簡(jiǎn)單易懂,甚至清潔工也能看懂。鄭州做軟件
經(jīng)常備份代碼。
在我年輕時(shí),我就有過(guò)因硬盤(pán)故障而丟了大量代碼的經(jīng)歷,這經(jīng)歷很恐怖的。只要你一次沒(méi)有備份,就應(yīng)當(dāng)像有著嚴(yán)格的期限,客戶(hù)明天就需要。此時(shí)就該源碼/版本控制軟件大顯身手了。
承認(rèn)自己并不是最頂尖的程序員 - 知不足。
我常想,我對(duì)編程了解已足夠多,但是總有其他人比你優(yōu)秀。正所謂,“一山總比一山高”。所以,向他們看齊吧!
學(xué)習(xí)再學(xué)習(xí)。
正如第5點(diǎn)所說(shuō),我經(jīng)常會(huì)在手里拿一本計(jì)算機(jī)或編程相關(guān)的雜志或書(shū)(不信,可以問(wèn)我的朋友)。誠(chéng)然,總有很多你不知道的技術(shù),你可以從中學(xué)習(xí)以保持不落后。如果你有一種靈巧的方式來(lái)獲取你需要的新技術(shù),那你每天都應(yīng)該堅(jiān)持學(xué)習(xí)。
永恒的變化。
你對(duì)待技術(shù)/編程知識(shí),就應(yīng)像你對(duì)待股票一樣:多樣化。不要在某一特定技術(shù)上自我感覺(jué)良好。如果那種技術(shù)或語(yǔ)言已經(jīng)沒(méi)有足夠支持,那你還不如現(xiàn)在就開(kāi)始更新你的簡(jiǎn)歷,并啟動(dòng)培訓(xùn)新計(jì)劃。我能保持前行的主要原則是什么呢?至少了解兩到三種語(yǔ)言,所以,如果某種語(yǔ)言過(guò)時(shí)了,你在學(xué)習(xí)新技術(shù)的時(shí)候還可以依靠另一種語(yǔ)言。
提攜新人。
協(xié)助并且培養(yǎng)初級(jí)/入門(mén)的開(kāi)發(fā)人員學(xué)習(xí)優(yōu)秀的編程方法和技巧。也許你還不知道,在幫助他們向更高一層前進(jìn)時(shí),你自己也在向更高一層提升,你會(huì)更加自信。
簡(jiǎn)化算法。
代碼如惡魔,在你完成編碼后,應(yīng)回頭并且優(yōu)化它。從長(zhǎng)遠(yuǎn)來(lái)看,這里或那里一些的改進(jìn),會(huì)讓后來(lái)的支持人員更加輕松。
編寫(xiě)文檔。
無(wú)論是Web服務(wù)的API,還是一個(gè)簡(jiǎn)單的類(lèi),你盡量編寫(xiě)相應(yīng)文檔。我曾經(jīng)引以為豪的代碼注釋?zhuān)蜻^(guò)度注釋而有人指責(zé)。給三行代碼加一行注釋?zhuān)恍枰銕酌霑r(shí)間。如果那是一個(gè)比較難以理解的技術(shù),千萬(wàn)別擔(dān)心過(guò)多注釋。如果你能很好做好自己的工作,大多數(shù)架構(gòu)師、后備程序員、支持組都會(huì)感激你。
測(cè)試、測(cè)試再測(cè)試。
我是一名黑盒測(cè)試粉絲。當(dāng)你完成編碼后,你“被認(rèn)可”的時(shí)候就開(kāi)始了。如果你們公司有QA部門(mén),如果你的代碼中有錯(cuò)誤,那你得到的評(píng)論,會(huì)比項(xiàng)目經(jīng)理還多。如果你不徹底測(cè)試自己的代碼,那恐怕你開(kāi)發(fā)的就不只是代碼,可能還會(huì)聲名狼藉。
慶祝每一次成功。
我見(jiàn)過(guò)很多程序員在解決編程技術(shù)難題后,會(huì)和同伴握手、擊掌或甚至手舞足蹈。每個(gè)人在生命中都會(huì)碰到“頓悟”。如果一個(gè)程序員高興地跑來(lái)叫你去看他的非凡代碼,也許你已經(jīng)看過(guò)這樣的代碼100遍了,但你也應(yīng)該為了這個(gè)家伙而慶祝第101次。(編者注:《慶祝成功的九種方式》。)
經(jīng)常檢查代碼。 在公司,你的代碼要經(jīng)常檢查(包括自查和其他同事檢查)。不要把別人的檢查,看成是對(duì)代碼風(fēng)格的苛求。應(yīng)該把它們看作是有建設(shè)性的批評(píng)。對(duì)個(gè)人來(lái)說(shuō),經(jīng)常檢查你的代碼并且自問(wèn),“我怎樣才能寫(xiě)得更好呢?” 這會(huì)加速你的成長(zhǎng),讓你成為一個(gè)更優(yōu)秀的程序員。
回顧你的代碼。
在看到自己以前的代碼時(shí),通常會(huì)有兩種方式:“難以至信,這代碼是我寫(xiě)的”和“難以至信,這代碼是我寫(xiě)的”。第一種往往是厭惡的語(yǔ)氣,并在想如何改進(jìn)它。你也許會(huì)驚嘆,舊代碼也能復(fù)活成為一種更好的程序,甚至是一個(gè)完整的產(chǎn)品。第二種通常帶著驚奇和成就感。開(kāi)發(fā)人員應(yīng)該一到兩個(gè)自己完成的項(xiàng)目成果,能讓眾人不禁而立并注目而觀的項(xiàng)目。同樣,基于你優(yōu)越的編程能力,你可以把過(guò)去的程序或項(xiàng)目拿出來(lái),把它們更新為更加優(yōu)秀的產(chǎn)品或想法。
幽默是不可缺的。
在我20年的開(kāi)發(fā)生涯中,我還沒(méi)有碰到哪位程序員是沒(méi)有幽默感的。實(shí)際上,干我們這行,幽默是一項(xiàng)必備品。
謹(jǐn)防那些無(wú)所不知的程序員,不愿分享的程序員,還有經(jīng)驗(yàn)不足的程序員。
當(dāng)你遇到這幾種程序員時(shí),你自己要謙虛。無(wú)所不知的程序員,更想當(dāng)一個(gè)英雄而不是團(tuán)隊(duì)成員;保守的程序員則是在編寫(xiě)著他們獨(dú)享的代碼;而經(jīng)驗(yàn)不足的程序員則會(huì)每十分鐘就來(lái)問(wèn)你一下,當(dāng)代碼完成后,代碼已經(jīng)是你的,而不是他們。
任何項(xiàng)目都不會(huì)那么簡(jiǎn)單。
朋友、家人和同事曾請(qǐng)求我倉(cāng)促做一些事情,倉(cāng)促做一個(gè)程序或者網(wǎng)站。對(duì)于這樣的事,應(yīng)該從雙方做計(jì)劃,才能做出令兩方都會(huì)滿(mǎn)意的東西。如果某人起初只是需要一個(gè)使用Microsoft Access的、只有有3個(gè)頁(yè)面的網(wǎng)站,但來(lái)就很可能變成一個(gè)有15個(gè)頁(yè)面的網(wǎng)站,并使用SQL Server,有一個(gè)論壇,還有一個(gè)定制的CMS(內(nèi)容管理系統(tǒng))。
任何時(shí)候不要想當(dāng)然。
假如你承接一個(gè)簡(jiǎn)單的項(xiàng)目,你可能會(huì)認(rèn)為某個(gè)部分可以輕松完成。千萬(wàn)別這樣想!除非你有一個(gè)類(lèi)、組件、或者一段已經(jīng)寫(xiě)好的代碼,并且在現(xiàn)有的項(xiàng)目已經(jīng)測(cè)試通過(guò)。不要認(rèn)為這將是很容易的。
沒(méi)有已經(jīng)完成的軟件。
曾經(jīng)有一位程序員告訴我,沒(méi)有軟件是已經(jīng)完成的,它只是“暫時(shí)完成了”。這是明智的忠告。如果客戶(hù)還在使用你寫(xiě)的程序,并經(jīng)受了時(shí)間的考驗(yàn)。如果有機(jī)會(huì),你仍在更新它,這并不是什么壞事,這讓你不斷地前行。鄭州做軟件
耐心是一種美德。
當(dāng)客戶(hù)、朋友或家庭成員用電腦的時(shí)候,他們也許會(huì)受挫,進(jìn)而想砸電腦,或氣沖沖地離開(kāi)。我一直在告訴他們,“是你掌控電腦,不是電腦掌控你?!睂?duì)于用作編程的電腦,你要有一定的耐心。一旦程序員知道問(wèn)題所在后,他們就會(huì)站在電腦的角度看問(wèn)題,并且說(shuō)“哦,這就是為什么它是這樣做?!?/span>
相關(guān)新聞換一組