2097浏覽量

頂級程序員(yuán)的10條最佳實踐

來源: 時間:2013-11-11

1、慎重選擇第1門語言

編程語言各有不同,不過區别不大(dà)。但用語言的人區别就大(dà)了。選擇了一(yī)門語言你就選擇了一(yī)個群落。

– Sam Kaufman,自由職業者,iOS 開(kāi)發者,10x management

如果你想快速建立原型(尤其對于希望對産品進行叠代升級的創始人來說),那就用 Ruby 或者 Javascript

– Erin Parker,Spitfire Athlete 創始人兼首席開(kāi)發者

2、你不是程序猿!

偉大(dà)的開(kāi)發者能夠建構并開(kāi)發應用。驚豔的開(kāi)發者能夠在關注業務的同時做這件事。業務端的人大(dà)都不懂編碼,但是肯定能夠理解特定功能背後的動機。

别人說什麽開(kāi)發者就做什麽,沒有去(qù)理解爲什麽要這麽做,導緻雙方均錯失了機會,這樣的事情太常見了。

– John Coggeshall,自由職業者,web 開(kāi)發者,10x Management,PHP 核心貢獻者

精通編程是一(yī)個崇高的職業目标。一(yī)旦實現了這個目标,别忘了考慮一(yī)下(xià)你自己。不要成爲任何公司的奴隸或者在毫無價值的東西上浪費(fèi)你的時間。

— Greg Sadetsky, Python 及 Javascript 專家,10x Managemen;協同辦公空間 Abri.co 創始人

要想按期完成,得在開(kāi)始技術工(gōng)作之前事先進行項目溝通(哪怕這并非先決條件),因爲其他人的響應速度千變萬化。

– Andrew Wilcox ,web 應用開(kāi)發者,Meteor 核心貢獻者,10x Management

3、保持敏捷,不斷交付

早發布,不斷發布,邊說唱(chàng)邊發布。

– Max Nanis ,自由職業者,web 開(kāi)發者,生(shēng)物(wù)信息學專家,10x Management

不斷測試。好的測試包如保單和煤礦裏的金絲雀之結合。它能幫助你在生(shēng)産周期中(zhōng)更早地找出錯誤,而錯誤越早發現越容易解決。

– Jeremy Green,自由職業者,web 開(kāi)發者,專長 Ruby on Rails,10x Management

快速失敗。編碼(及生(shēng)活)時我(wǒ)希望盡早知(zhī)道什麽地方不能工(gōng)作,而不是放(fàng)任不管讓它增殖擴散。全面放(fàng)開(kāi),快速失敗,修補缺陷,不斷繼續。

– Stephanie Volftsun,Knotch 聯合創始人兼 CTO

爲所有代碼編寫自動測試!盡可能踐行測試驅動的開(kāi)發。

– Zoran Kacic-Alesic,Industrial Light & Magic 研發主管

4、保持對測試流程的控制

許多項目深受多測試周期之苦。這會拖累項目,導緻組織整體(tǐ)出現高級别的問題。

程序員(yuán)應該專注于對自己的代碼進行單元測試及半回歸測試。他們比其他任何人更了解代碼庫,也知(zhī)道自己會影響到哪些變更。有時此類變更會由于 QA 測試範圍有限而缺失,因此導緻生(shēng)産環節出現重大(dà)問題。

– Sanjib Sahoo,tradeMONSTER CTO

要想在力所能及的情況下(xià)盡快開(kāi)發出無缺陷代碼,永遠永遠也不要把寫測試放(fàng)到後面。我(wǒ)們更清楚這一(yī)點。要檢查一(yī)下(xià)測試的覆蓋率,确保 100% 無死角。

– Seth Purcell,Signpost 工(gōng)程副總裁

5、如果你是自由職業者,要學會說不,哪怕面對的是金錢

要對時間和成本有一(yī)個合理的評估,然後把它加倍。如果大(dà)家都說“這應該很簡單,”那就做

– Ryan Waggoner ,自由職業者,web 及移動應用開(kāi)發者,10x Management

6、榮譽屬于過去(qù)—理論是一(yī)回事,但實踐更重要

改進軟件開(kāi)發質量的最好方式就是去(qù)開(kāi)發軟件。許多雄心勃勃的剛入門的工(gōng)程師花了很多的業務時間去(qù)讀書(shū),關于最新工(gōng)具的、關于開(kāi)放(fàng)流程的,諸如此類的東西。

很多人都是這麽消磨自己的閑暇時間的,但這樣很容易就把你給耽擱了。别這樣,通過盡可能用腦來強化大(dà)腦負責開(kāi)發軟件的那部分(fēn)。

–James Cropcho,General Assembly 的 Ruby on Rails 專家及講師

不斷探索。我(wǒ)見過的許多編碼者手上都有幾個在進行的業務項目。做業務項目迫使你要探索新技術然後學習創建應用的方方面面。你可能需要做前端的 HTML/CSS,後端的 API 集成,數據庫優化,做移動 app,還得設置自己的服務器。

– Andrew Waage,Retention Science CTO 及聯合創始人

7、結對評審是你的秘密武器

結對編程非常必要。兩個程序員(yuán)聯合開(kāi)發同一(yī)個模塊可以相互審查對方的代碼。開(kāi)發團隊每周也要召開(kāi)代碼審查會議,讓每一(yī)個開(kāi)發者給其他人的代碼提供反饋意見,解釋如何更好地改進代碼。這能夠形成一(yī)種協作文化,把開(kāi)發者的自負抛開(kāi)!

– Sanjib Sahoo

8、像躲瘟疫一(yī)樣避免過早優化

隻有在問題和解決方案都出現在你面前時才進行重構—過早重構是時間上的巨大(dà)浪費(fèi)。不要投入半年後可能被扔掉的任何東西的完善上。過早優化是罪惡之源。

–Seth Purcell

不要過早優化!我(wǒ)不斷看到工(gōng)程師在用戶還沒有到 1000 的時候一(yī)再對擴充到 100 萬的用戶規模擔心。

– Mariya Yao,Xanadu Mobile 創始人兼創意總監,移動開(kāi)發者及設計師

9、你的代碼隻寫一(yī)次,可别人會讀它千萬遍

你寫的代碼機器會解析執行,可其他人卻需要讀你的代碼,理解它,擺弄它。你必須明白(bái),你的代碼會有未來的觀衆。代碼也是一(yī)種書(shū)寫形式的溝通。

– Tracy Chou,Pinterest 軟件工(gōng)程師

聽(tīng)起來很奇怪,但是你永遠都得替自己的未來着想。問問自己:如果你有健忘症的話(huà),你還能不能理解自己寫過的代碼?

– Wai Ching Jessica Lam,Sugarbox 聯合創始人兼 CTO

通讀你的文檔。設計改動很多,有時候代碼更新的時候注釋不一(yī)定會跟進。保持文檔的更新,未來的人(包括你自己)理解起來就更容易。我(wǒ)說不清有多少次我(wǒ)看回自己代碼時總在想:“我(wǒ)到底在幹什麽?”隻要我(wǒ)寫出了好的注釋,未來頭疼就少很多。

– Kitt Vanderwater,Google 軟件工(gōng)程師

10、這是一(yī)個崇高的職業。把你的技能用到好的地方。

幫助他人是深層次的人類需求。想辦法用你的工(gōng)作來改善人類,你就會有成功的把握。

– Greg Sadetsky

聯系我(wǒ)們

一(yī)次需求提交或許正是成就一(yī)個出色産品的開(kāi)始。
歡迎填寫表格或發送合作郵件至: qczsky@126.com

大(dà)理青橙科技

電(diàn)話(huà):13988578755 13988578755

郵箱:qczsky@126.com

地址:大(dà)理市下(xià)關龍都春天10層