北京尚學堂:20條編程經驗分享

版權聲明:本文爲北京尚學堂原創文章,未經容許不得轉載。html

20條編程經驗分享程序員

不想在電子廠作一生的普工或者是餐館作一生的服務員 從小就喜歡計算機(僅僅停留在遊戲 )想經過自學一門計算機編程語言進入互聯網行業 想改變本身苦逼的命運。算法

我本身也是自學編程多年,說說我多年來的經歷和一些建議。這些年,我積累了一些艱難又容易的經驗。做爲一名程序員,你或許還沒這些經驗,但我會把它們獻給那些想從中學到更多的朋友。編程

20條編程經驗分享設計模式

1. 估算解決問題所須要的時間。不要怕,認可吧!我曾見過一些程序員爲了解決一個特殊問題而坐在顯示器前面8小時。爲本身定一個時間限制吧,1小時、30分鐘或甚至15分鐘。若是在這期間你不能解決問題,那就去尋求幫助,或到網上找答案,而不是嘗試去作「超級堆碼員」。微信

2. 編程語言是一種語言,只是一種語言。隨着時光推移,只要你理解了一種語言的原理,你會發現各類語言之間的類似之處 。你所選擇的語言,你應該以爲「舒服」,而且可以寫出有效(並且簡潔)的代碼。最重要的,讓語言去適應項目,反之亦然。架構

3. 不要過於注重程序的「設計模式」。 有時候,寫一個簡單的算法,要比引入某種模式更容易。在多數狀況下,程序代碼應是簡單易懂,甚至清潔工也能看懂。編程語言

4. 常常備份代碼。在我年輕時,我就有過因硬盤故障而丟了大量代碼的經歷,這經歷很恐怖的。只要你一次沒有備份,就應當像有着嚴格的期限,客戶明天就須要。此時就該源碼/版本控制軟件大顯身手了。學習

5. 認可本身並非最頂尖的程序員 - 知不足。我常想,我對編程瞭解已足夠多,可是總有其餘人比你優秀。正所謂,「一山總比一山高」。因此,向他們看齊吧!測試

六、學習再學習。正如第5點所說,我常常會在手裏拿一本計算機或編程相關的雜誌或書(不信,能夠問個人朋友)。誠然,總有不少你不知道的技術,你能夠從中學習以保持不落後。若是你有一種靈巧的方式來獲取你須要的新技術,那你天天都應該堅持學習。

7. 永恆的變化。你對待技術/編程知識,就應像你對待股票同樣:多樣化。不要在某一特定技術上自我感受良好。若是那種技術或語言已經沒有足夠支持,那你還不如如今就開始更新你的簡歷,並啓動培訓新計劃。我能保持前行的主要原則是什麼呢?至少了解兩到三種語言,因此,若是某種語言過期了,你在學習新技術的時候還能夠依靠另外一種語言。

8. 提攜新人。協助而且培養初級/入門的開發人員學習優秀的編程方法和技巧。也許你還不知道,在幫助他們向更高一層前進時,你本身也在向更高一層提高,你會更加自信。

9. 簡化算法。代碼如惡魔,在你完成編碼後,應回頭而且優化它。從長遠來看,這裏或那裏一些的改進,會讓後來的支持人員更加輕鬆。

10. 編寫文檔。不管是Web服務的API,仍是一個簡單的類,你儘可能編寫相應文檔。我曾經引覺得豪的代碼註釋,因過分註釋而有人指責。給三行代碼加一行註釋,只須要你幾秒時間。若是那是一個比較難以理解的技術,千萬別擔憂過多註釋。若是你能很好作好本身的工做,大多數架構師、後備程序員、支持組都會感激你。

11. 測試、測試再測試。我是一名黑盒測試粉絲。當你完成編碼後,你「被承認」的時候就開始了。若是大家公司有QA部門,若是你的代碼中有錯誤,那你獲得的評論,會比項目經理還多。若是你不完全測試本身的代碼,那恐怕你開發的就不僅是代碼,可能還會聲名狼藉。

12. 慶祝每一次成功。我見過不少程序員在解決編程技術難題後,會和同伴握手、擊掌或甚至手舞足蹈。每一個人在生命中都會碰到「頓悟」。若是一個程序員高興地跑來叫你去看他的非凡代碼,也許你已經看過這樣的代碼100遍了,但你也應該爲了這個傢伙而慶祝第101次。

13. 常常檢查代碼。在公司,你的代碼要常常檢查(包括自查和其餘同事檢查)。不要把別人的檢查,當作是對代碼風格的苛求。應該把它們看做是有建設性的批評。對我的來講,常常檢查你的代碼而且自問,「我怎樣才能寫得更好呢?」 這會加速你的成長,讓你成爲一個更優秀的程序員。

14. 回顧你的代碼。在看到本身之前的代碼時,一般會有兩種方式:「難以致信,這代碼是我寫的」和「難以致信,這代碼是我寫的」。第一種每每是厭惡的語氣,並在想如何改進它。你也許會驚歎,舊代碼也能復活成爲一種更好的程序,甚至是一個完整的產品。第二種一般帶着驚奇和成就感。開發人員應該一到兩個本身完成的項目成果,能讓衆人不由而立並注目而觀的項目。一樣,基於你優越的編程能力,你能夠把過去的程序或項目拿出來,把它們更新爲更加優秀的產品或想法。

15. 幽默是不可缺的。在我20年的開發生涯中,我尚未碰到哪位程序員是沒有幽默感的。實際上,幹咱們這行,幽默是一項必備品。

16. 謹防那些無所不知的程序員,不肯分享的程序員,還有經驗不足的程序員。當你遇到這幾種程序員時,你本身要謙虛。無所不知的程序員,更想當一個英雄而不是團隊成員;保守的程序員則是在編寫着他們獨享的代碼;而經驗不足的程序員則會每十分鐘就來問你一下,當代碼完成後,代碼已是你的,而不是他們。

17. 任何項目都不會那麼簡單。朋友、家人和同事曾請求我倉促作一些事情,倉促作一個程序或者網站。對於這樣的事,應該從雙方作計劃,才能作出令兩方都會滿意的東西。若是某人起初只是須要一個使用Microsoft Access的、只有有3個頁面的網站,但來就極可能變成一個有15個頁面的網站,並使用SQL Server,有一個論壇,還有一個定製的CMS(內容管理系統)。

18. 任什麼時候候不要想固然。假如你承接一個簡單的項目,你可能會認爲某個部分能夠輕鬆完成。千萬別這樣想!除非你有一個類、組件、或者一段已經寫好的代碼,而且在現有的項目已經測試經過。不要認爲這將是很容易的。

19. 沒有已經完成的軟件。曾經有一位程序員告訴我,沒有軟件是已經完成的,它只是「暫時完成了」。這是明智的忠告。若是客戶還在使用你寫的程序,並經受了時間的考驗。若是有機會,你仍在更新它,這並非什麼壞事,這讓你不斷地前行。

20. 耐心是一種美德。當客戶、朋友或家庭成員用電腦的時候,他們也許會受挫,進而想砸電腦,或氣沖沖地離開。我一直在告訴他們,「是你掌控電腦,不是電腦掌控你。」對於用做編程的電腦,你要有必定的耐心。一旦程序員知道問題所在後,他們就會站在電腦的角度看問題,而且說「哦,這就是爲何它是這樣作。」

20條編程經驗分享

編者後話

對本文深有感觸!雖然本文沒有華麗的辭藻,其中樸實的道理,其實並不是只適用程序員,一樣能夠擴展到其餘行業。記得之前練字時,總感受當時寫得很好,但後來回頭再看時,也會想「這竟然是我寫的字!」​

一句話:作一名程序員難,作一名合格的程序員是難上加難!北京尚學堂致力於IT培訓,改變中國IT教育,咱們正在行動!學習過程當中遇到什麼問題或者想獲取學習資源的話,歡迎溝通。​( 資料領取驗證消息:156

更多精彩內容關注微信公衆號:北京尚學堂科技有限公司

相關文章
相關標籤/搜索