頂級程式設計師的10條最佳實踐
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
相關文章
- go 程式設計師的最佳實踐Go程式設計師
- Java程式設計師的八個最佳實踐Java程式設計師
- jQuery程式設計的最佳實踐jQuery程式設計
- 頂級程式設計師的心得 Coders at Work程式設計師
- 中國的頂級軟體程式設計工程師和歐美的頂級軟體程式設計工程師差距有多大?程式設計工程師
- 頂級程式設計師推薦的程式設計開發書籍【整合】程式設計師
- 非同步程式設計最佳實踐非同步程式設計
- C 程式設計最佳實踐(轉)程式設計
- 程式設計師常去的14個頂級開發社群程式設計師
- 頂級公司程式設計師,一天只寫100行程式碼?程式設計師行程
- [分享]2021 年對 React 前端程式設計師的 10 個程式碼最佳實踐建議React前端程式設計師
- PHP安全程式設計最佳實踐PHP程式設計
- C++程式設計最佳實踐(轉)C++程式設計
- 老程式設計師的10條中肯建議程式設計師
- 給新程式設計師的10條建議程式設計師
- 禪道程式設計師的10條原則程式設計師
- 程式設計師的100條座右銘程式設計師
- 頂尖程式設計師的10個優良習慣程式設計師
- 矽谷好萊塢化:頂級程式設計師有自己的經紀人程式設計師
- 函數語言程式設計最佳實踐函數程式設計
- Laravel最佳實踐–事件驅動程式設計Laravel事件程式設計
- Laravel 最佳實踐 -- 事件驅動程式設計Laravel事件程式設計
- Laravel最佳實踐 -- 事件驅動程式設計Laravel事件程式設計
- C++非同步程式設計最佳實踐C++非同步程式設計
- Python程式設計規範+最佳實踐Python程式設計
- 程式設計師也難逃的二八定律,成為頂級程式設計師真的有那麼難嗎?程式設計師
- 設計微服務的最佳實踐微服務
- [01] C#網路程式設計的最佳實踐C#程式設計
- TypeScript 資料模型層程式設計的最佳實踐TypeScript模型程式設計
- Java程式設計師應該遵循的10條戒律Java程式設計師
- 程式設計師程式設計的10個實用技巧程式設計師
- 初級Java程式設計師提升自己的3條路線Java程式設計師
- Spring Boot 編寫 API 的 10條最佳實踐Spring BootAPI
- 普通UI設計師與頂級UI設計師的區別是什麼?UI
- 普通 UI 設計師與頂級 UI 設計師的區別是什麼?UI
- 給未來程式設計師的15個頂級職業建議程式設計師
- 實驗 2 Scala 程式設計初級實踐程式設計
- Java 程式設計中關於異常處理的 10 個最佳實踐Java程式設計