国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 技術(shù)開發(fā) > 正文

一個人20年的20條編程經(jīng)驗

2023-06-23 14:40:24
字體:
供稿:網(wǎng)友

有一個人他從11歲開始編程,并且很喜歡這種事情,20年來,他獲得了豐富的經(jīng)驗教訓(xùn),他準備把這些東西寫下來與大家共享。

1、解決問題時估算你所需要的時間。

C‘mon,admit it! 我曾見過一些程序員為了解決一個特殊的問題而連續(xù)坐在顯示器前面8小時,我會像下一個會成為這樣的程序員一樣感到內(nèi)疚。為自己定一個時間表吧,每1小時,30分鐘,甚至15分鐘。如果在這期間你不能找出問題的解決辦法, 那么就去尋求別人的幫助,或者在網(wǎng)絡(luò)上去找答案,而不是嘗試去做super-coder.

2、編程語言是一種語言,也只不過是一種語言。

隨著時間的增長,只要你理解了一種語言是怎么工作的,你就會發(fā)現(xiàn)各種不同語言之間有相似之處。你所選擇的語言應(yīng)該讓你覺得舒服,并且能夠?qū)懗鲇行Вǘ液啙崳┑拇a。總重要的,讓語言本身適合這個項目,反之亦然。

3、不要過頭-寫“設(shè)計模式”的程序。

有時候,寫一個簡單的算法要比把某種模式引進來容易的多。多數(shù)情況下,應(yīng)該寫易懂的代碼,做到哪怕清潔工也得讀懂。

4、經(jīng)常備份代碼。

在我年輕的時候就有過硬盤壞掉了而丟了許多代碼的經(jīng)歷,這讓人感到相當煩躁。一次你沒有備份你的數(shù)據(jù),那就仿佛一次客戶有著嚴ge的期限明天就需要他們的東西。(The one time you don’t back up your data may be the one time where you have a strict deadline with a client and they need it tomorrow. )這時源碼/版本控制程序就可以幫你。

5、接受一個事實,你并不是最牛的程序員。

我常常想我已經(jīng)對編程了解的夠多了,但是也經(jīng)常會發(fā)現(xiàn)有人明顯比我強。所以,向他們學習吧。

6、學習再學習。

像第五條說的,我經(jīng)常會在手里拿一本計算機或編程相關(guān)的書、雜志(我的朋友們可以作證)。真的,你可以從中學到不少技術(shù),這樣也可以讓你在工作上不會落后。當然如果你有一個更好的方式來接觸你需要的新技術(shù),那么你應(yīng)該每天都學習它。

7、變化是會經(jīng)常發(fā)生的。

你對編程技術(shù)的熟悉就好像你對待一支股票一樣:是變化的。不要對一門特定的技術(shù)感覺良好。如果這種技術(shù)或者語言已經(jīng)得不到足夠的支持了,你最好馬上開始更新你的簡歷、開始接受培訓(xùn)吧。我分別的主要的原則就是看這項技術(shù)能否讓我繼續(xù)下去。至少了解兩到三種語言,這樣一旦一種不行了,你還可以在學習新技術(shù)的時候依賴另一種。

8、給予新手幫助。

協(xié)助并且培養(yǎng)新手/初級的開發(fā)者,讓他們具有良好的編程技巧。你或許從未意識到。..這樣你會使很多人成長,并且在培養(yǎng)他們?yōu)橄乱粋€位置做準備時你也會感到很開心。

9、讓算法簡單化。

代碼就像朋友一樣,你完成編碼以后,應(yīng)該從頭再看一遍并且優(yōu)化它。代碼上這里或者那里一點點的改進,會讓后來長期維護的人輕松很多。

10、給代碼加注釋。

不管是在注釋一個WEB服務(wù)的API還是在注釋一個簡單的類,你盡管做就是。我曾經(jīng)因過度的代碼注釋而被人指責過,而這卻又是我最引以為豪的事。為三行的代碼加一行注釋僅僅需要你幾秒鐘的時間。如果是一個比較難理解的技巧,千萬別擔心過度的注釋。你做你該做的,這就是架構(gòu)師,編碼助理、支撐組都最不會抱怨的地方。

11、測試,測試,測試 我是黑盒測試的擁蹙。

當你完成編碼的時候,你“被認證”的時候就開始了。如果你們有質(zhì)量保證部門,那么相對于項目經(jīng)理對你錯誤的評論而言,他們會評論得更多。如果你完全不測試你的代碼,那么恐怕你開發(fā)的就不僅僅是代碼了,可能還有你糟糕的名聲。

12、為每一個成功慶祝。

我遇到過的許多程序員在解決完一個編程技術(shù)的頭痛問題時,常常和他們的同伴握手、擊掌、甚至手舞足蹈。每個人在生活中都會碰到“豁然開朗”時候。一個程序員高興地跑來叫你去看他獨創(chuàng)的代碼,以你的經(jīng)歷或許你已經(jīng)看過這樣的代碼100遍了,但也應(yīng)該為了這個伙計來第101次慶祝這個成功吧。

13、經(jīng)常檢查你的代碼。

無論是項目還是個人,在公司里你應(yīng)該常常檢查你的代碼,不要把別人的指責當作打擊,而是把它們看作是有建設(shè)性的批評。對個人來說,常常檢查你的代碼并且自問 “我怎樣才能讓它更好呢” 這會讓你更快地成長,使你成為一個更好的程序員。

14、回顧你過去的代碼。

看到自己以前的代碼的時大家經(jīng)常會有兩種表述:“難以至信,我居然寫過樣的代碼”和“難以至信,我居然寫過樣的代碼”。第一種表述經(jīng)常是帶著厭惡的語氣。想想如何去改進它,當你讓這些超老的代碼重新復(fù)蘇,成為更好的、正常的程序甚至完整的產(chǎn)品時,你會感到驚喜的。第二種表述常常帶著驚奇和成就感。開發(fā)者應(yīng)該完成一兩個經(jīng)得起考驗、經(jīng)得起討論的工程代碼。另外,你可以利用這些代碼或者工程把他們作成一個更好的產(chǎn)品或者想法,這就要看你優(yōu)秀的代碼能力了。

15、幽默感是必須的。

我20年的開發(fā)生涯中,我從來沒有碰到過一個程序員沒有相當?shù)挠哪械摹4_切地說,在我們這個行業(yè),這是必須的。

16、當心那些無所不知的人,不愿分享的人,和經(jīng)驗不足的人。

當你遇到這幾種程序員時首先你自己要謙虛。那些無所不知的人更想作一個英雄而不是一個團隊成員,保守的人則是在編寫著他們不愿意分享的代碼。而那些經(jīng)驗不足的程序員會每十分鐘就來問你一下,當他完成開發(fā)時,那代碼已經(jīng)是你的而不是他們的了。

17、沒有項目是從來就是簡單的。

我曾被朋友、家人、同事要求忽忙地做一些事情,匆忙地寫一個程序或者網(wǎng)站。應(yīng)該計劃能夠完成兩方都會滿意的東西。開始時可能他只是需要一個使用Microsoft Access 的有3個頁面的網(wǎng)站,但是隨后就可能變成一個有15個頁面的網(wǎng)站且使用SQL Server、一個論壇、一個自定義的CMS(內(nèi)容管理系統(tǒng))

18、任何時候不要想當然。

假如你接手一個簡單的項目,你可能會認為某些部分很容易完成。千萬不要這樣認為,除非你有一個類、組件、或者一段已經(jīng)寫好的代碼并且已經(jīng)測試通過。

19、沒有軟件是已經(jīng)完成的。

一個程序員有次告訴我沒有軟件是已經(jīng)完成的,它們只是暫時完成了。這是明智的忠告。如果客戶還在使用你寫的程序,已經(jīng)忍過了測試的那段時間。還有可能就是你仍在更新它,這并不是什么壞事,它可以讓你不斷地工作。

20、有耐心是一種長處。

當客戶、朋友、或者家庭成員用電腦的時候,他們可能會受挫、想砸掉電腦以至于暴走。我告訴他們,“是你在控制電腦而不是電腦在控制你。”對待用于編程的電腦,你需要有一定的耐心。只要程序員明白他們的問題所在了,他們就又從電腦的角度來看問題了,還說“呃,不就是這樣嘛。”

我希望這一摞經(jīng)驗?zāi)軌騿l(fā)一些人,又或者讓你輕輕一笑。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 莱阳市| 卓资县| 平远县| 东港市| 武宣县| 泸水县| 井冈山市| 鄯善县| 万山特区| 丘北县| 沙洋县| 海林市| 龙泉市| 雅安市| 牟定县| 汉川市| 河津市| 汝阳县| 成武县| 灵宝市| 哈巴河县| 莎车县| 密云县| 年辖:市辖区| 高邮市| 揭阳市| 阳原县| 涡阳县| 隆回县| 浏阳市| 凌云县| 伊金霍洛旗| 高州市| 罗田县| 奈曼旗| 乌海市| 宣恩县| 来宾市| 裕民县| 洛阳市| 仙游县|