顶级程序员的10条最佳实践
英文原文:10 best practices from top coders at Google, Pinterest & more 1、慎重選擇第 1 門語言 編程語言各有不同,不過區別不大。但用語言的人區別就大了。選擇了一門語言你就選擇了一個群落。 – Sam Kaufman,自由職業者,iOS 開發者,10x management 如果你想快速建立原型(尤其對于希望對產品進行迭代升級的創始人來說),那就用 Ruby 或者 Javascript – Erin Parker,Spitfire Athlete 創始人兼首席開發者 2、你不是程序猿! 偉大的開發者能夠建構并開發應用。驚艷的開發者能夠在關注業務的同時做這件事。業務端的人大都不懂編碼,但是肯定能夠理解特定功能背后的動機。 別人說什么開發者就做什么,沒有去理解為什么要這么做,導致雙方均錯失了機會,這樣的事情太常見了。 – John Coggeshall,自由職業者,web 開發者,10x Management,PHP 核心貢獻者 精通編程是一個崇高的職業目標。一旦實現了這個目標,別忘了考慮一下你自己。不要成為任何公司的奴隸或者在毫無價值的東西上浪費你的時間。 — Greg Sadetsky, Python 及 Javascript 專家,10x Managemen;協同辦公空間 Abri.co 創始人 要想按期完成,得在開始技術工作之前事先進行項目溝通(哪怕這并非先決條件),因為其他人的響應速度千變萬化。 – Andrew Wilcox ,web 應用開發者,Meteor 核心貢獻者,10x Management 3、保持敏捷,不斷交付 早發布,不斷發布,邊說唱邊發布。 – Max Nanis ,自由職業者,web 開發者,生物信息學專家,10x Management 不斷測試。好的測試包如保單和煤礦里的金絲雀之結合。它能幫助你在生產周期中更早地找出錯誤,而錯誤越早發現越容易解決。 – Jeremy Green,自由職業者,web 開發者,專長 Ruby on Rails,10x Management 快速失敗。編碼(及生活)時我希望盡早知道什么地方不能工作,而不是放任不管讓它增殖擴散。全面放開,快速失敗,修補缺陷,不斷繼續。 – Stephanie Volftsun,Knotch 聯合創始人兼 CTO 為所有代碼編寫自動測試!盡可能踐行測試驅動的開發。 – Zoran Kacic-Alesic,Industrial Light & Magic 研發主管 4、保持對測試流程的控制 許多項目深受多測試周期之苦。這會拖累項目,導致組織整體出現高級別的問題。 程序員應該專注于對自己的代碼進行單元測試及半回歸測試。他們比其他任何人更了解代碼庫,也知道自己會影響到哪些變更。有時此類變更會由于 QA 測試范圍有限而缺失,因此導致生產環節出現重大問題。 – Sanjib Sahoo,tradeMONSTER CTO 要想在力所能及的情況下盡快開發出無缺陷代碼,永遠永遠也不要把寫測試放到后面。我們更清楚這一點。要檢查一下測試的覆蓋率,確保 100% 無死角。 – Seth Purcell,Signpost 工程副總裁 5、如果你是自由職業者,要學會說不,哪怕面對的是金錢 要對時間和成本有一個合理的評估,然后把它加倍。如果大家都說“這應該很簡單,”那就做 – Ryan Waggoner ,自由職業者,web 及移動應用開發者,10x Management 6、榮譽屬于過去—理論是一回事,但實踐更重要 改進軟件開發質量的最好方式就是去開發軟件。許多雄心勃勃的剛入門的工程師花了很多的業務時間去讀書,關于最新工具的、關于開放流程的,諸如此類的東西。 很多人都是這么消磨自己的閑暇時間的,但這樣很容易就把你給耽擱了。別這樣,通過盡可能用腦來強化大腦負責開發軟件的那部分。 –James Cropcho,General Assembly 的 Ruby on Rails 專家及講師 不斷探索。我見過的許多編碼者手上都有幾個在進行的業務項目。做業務項目迫使你要探索新技術然后學習創建應用的方方面面。你可能需要做前端的 HTML/CSS,后端的 API 集成,數據庫優化,做移動 app,還得設置自己的服務器。 – Andrew Waage,Retention Science CTO 及聯合創始人 7、結對評審是你的秘密武器 結對編程非常必要。兩個程序員聯合開發同一個模塊可以相互審查對方的代碼。開發團隊每周也要召開代碼審查會議,讓每一個開發者給其他人的代碼提供反饋意見,解釋如何更好地改進代碼。這能夠形成一種協作文化,把開發者的自負拋開! – Sanjib Sahoo 8、像躲瘟疫一樣避免過早優化 只有在問題和解決方案都出現在你面前時才進行重構—過早重構是時間上的巨大浪費。不要投入半年后可能被扔掉的任何東西的完善上。過早優化是罪惡之源。 –Seth Purcell 不要過早優化!我不斷看到工程師在用戶還沒有到 1000 的時候一再對擴充到 100 萬的用戶規模擔心。 – Mariya Yao,Xanadu Mobile 創始人兼創意總監,移動開發者及設計師 9、你的代碼只寫一次,可別人會讀它千萬遍 你寫的代碼機器會解析執行,可其他人卻需要讀你的代碼,理解它,擺弄它。你必須明白,你的代碼會有未來的觀眾。代碼也是一種書寫形式的溝通。 – Tracy Chou,Pinterest 軟件工程師 聽起來很奇怪,但是你永遠都得替自己的未來著想。問問自己:如果你有健忘癥的話,你還能不能理解自己寫過的代碼? – Wai Ching Jessica Lam,Sugarbox 聯合創始人兼 CTO 通讀你的文檔。設計改動很多,有時候代碼更新的時候注釋不一定會跟進。保持文檔的更新,未來的人(包括你自己)理解起來就更容易。我說不清有多少次我看回自己代碼時總在想:“我到底在干什么?”只要我寫出了好的注釋,未來頭疼就少很多。 – Kitt Vanderwater,Google 軟件工程師 10、這是一個崇高的職業。把你的技能用到好的地方。 幫助他人是深層次的人類需求。想辦法用你的工作來改善人類,你就會有成功的把握。 – Greg Sadetsky |
轉載于:https://blog.51cto.com/hongyu0621/1325818
總結
以上是生活随笔為你收集整理的顶级程序员的10条最佳实践的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu安装五笔输入法(ibus-t
- 下一篇: 文件服务器的迁移(包括权限)