作者簡介:peter nixey,ruby on rails程式設計師,前計算機視覺學者、企業家,clickpass公司ceo,yc孵化器的企業規劃導師,brojure公司cto。
程式設計師在開發過程中,常常會遇到各種各樣的問題,但很少是完全陌生、其它團隊也沒有遇到過的。在stack overflow上最吸引眼球的提問,大多曾在其它地方出現過。
多數時候,程式設計師所用的程式語言本身就自帶了解決方案。筆者曾經呼叫乙個封裝好的內建函式,將一段60行**重構到1行。
重複造車輪般的過程去實現那些程式語言內建的函式不僅浪費時間,也意味著程式的**將更冗長,還可能引入bug,需要更多的單元測試和注釋文件。
好好打牢自己的基礎吧!如果你是乙個ruby程式設計師,就好好學習ruby豐富的陣列方法;如果是node開發者,就好好去理解node.js的架構;如果是angular程式設計師,就去理解其核心背後的邏輯。在動手實現之前,先仔細查閱文件。記住,我們都站在巨人的肩膀上。把時間花去學習那些頂尖程式設計師的思路和方法,要正確的多。
很多程式設計師水平不錯但是遇到了平台期,問題常常出在他們不知道如何提公升自己。這也許是技術生涯裡能夠遇到的最糟糕的事情了。要想知道如何提公升自己,首先得知道需要在哪方面有所提公升。乙個優秀的象棋手,總是會花時間研究其他優秀棋手的路數,對於乙個優秀的程式設計師來說,也是如此。
要想提公升自己,最好的辦法莫過於培養對**的嗅覺。哪怕不能清楚地說出原因,也能察覺到一段**的問題在**。什麼是**嗅覺?比如讀到一段很難懂的**,會察覺到**有問題。面對乙個很基礎的功能,你會覺得語言本身應該有函式封裝。要培養對**的嗅覺,需要培養對**的審美水平。**之美,簡單優雅!
在開發的過程中,應該力圖將**寫的簡單優雅。如果只能用複雜醜陋的方法實現,那起碼要邏輯清晰。沒有對優雅和糟糕**的嗅覺,技術水平將難以提公升。
joel spolsky曾經說過,stack exchange不僅造福那些提問者,也造福那些看到提問的閱讀者。為什麼?因為許多人遇到的問題都是相似的,這些相似的問題都可以參考這個解決方案進行處理,效用便最大化了。
程式設計師寫**時也應採用類似的策略。也許**僅由你自己寫,且只寫了一次,但它會被很多人閱讀、修改。所以,在寫**的時候,除了完成任務以外,還應力圖不給後來人造成麻煩。在開發過程中,除了有良好的命名規範,還需要用嚴格的單元測試來保證**足夠耐用,經得起考驗。種因得果,設想一下,一年之後在完全沒有耐心,時間又緊迫的情況下,讓你來讀現在寫下的**,你理解那種心情吧!
乙個優秀開發者如何才能變得偉大?
乙個優秀開發者如何才能變得偉大?還是先不想如何變得偉大 乙個不錯的開發者如何變成乙個優秀的開發者?從第一步到第n步並沒有確定的路徑,哎呀,甚至不知道第n步是什麼.能邏輯思考的都明白,缺乏乙個確定的路線意味著,想從新手到大師,將會是乙個艱辛的旅程。在過去幾年間,我還是花了相當一些時間,反覆思考這乙個難...
乙個優秀開發者如何才能變得偉大? 轉
乙個優秀開發者如何才能變得偉大?還是先不想如何變得偉大 乙個不錯的開發者如何變成乙個優秀的開發者?從第一步到第n步並沒有確定的路徑,哎呀,甚至不知道第n步是什麼.能邏輯思考的都明白,缺乏乙個確定的路線意味著,想從新手到大師,將會是乙個艱辛的旅程。在過去幾年間,我還是花了相當一些時間,反覆思考這乙個難...
如何成為微信開發者
1.web伺服器 a.這個可以自己購買,如果之前已有 可直接使用其伺服器,這樣也不用再購買網域名稱了。b.也可以使用免費的伺服器,搜尋一下,有很多。2.網域名稱 a.如果伺服器自己購買,也需要購買網域名稱,然後要設定網域名稱dns,將網域名稱繫結到購買的伺服器 b.如果使用免費伺服器,一般都有免費的...