程式設計師程式設計的10個實用技巧
下面是我自己在工作中學到的一些簡單的技巧和策略,希望能對各位有用。
1.橡皮鴨除錯法
不知道各位有沒有這樣的經歷,當你正在給別人描述問題的時候,突然靈機一動想到了解決方案?這種情況的產生是有科學依據的。高談闊論能讓我們的大腦重新有條理地組織問題。在這種情況下,你的聊天物件就是“橡皮鴨”。團隊中的每個人都應該積極主動樂意地成為彼此的“橡皮鴨”。有時候,如果你幸運的話,你的“橡皮鴨”搞不好還能給出有效的建議呢。
2.快速資訊反饋
一旦寫好程式碼就要儘快得到反饋。當你和我們在HubSpot一樣,收到大量的Pull請求,不妨做些細微的改動,然後立馬開啟PR,討論設計和程式碼。和你的“橡皮鴨”交流一下,請他們提點建議。要知道,迭代原型可遠比糾正成品要節約成本。
有的團隊結構,最初可能並不要求寫程式碼。因為實體模型、白板設計等等,這些成本都比一下子刪改上千行程式碼的成本要低。
3.首先搞定端至端
當我們在解決問題和完成功能時,很容易深入到細節問題的研究。這裡有一個好方法,能讓我們儘快搞定端至端。
例如,假設我需要在網頁上設定一個功能,能在使用者點選之後做一些複雜運算並把結果儲存到伺服器中。有些童鞋可能想著想著就先去研究這個運算方式了。我的做法是,先為使用者的操作設定事件處理程式,用一些固定的值來模擬計算,然後呼叫API向伺服器請求資料。這樣一來,我們就沒必要先考慮每一個具體細節,可以直接端至端地測試系統。同時,這個快速的反饋迴路有助於我們更快地迭代和寫程式碼。一開始出來的設計可能並不完美,但是通過親眼目睹各個部件是如何組合的,我們將會對整個系統有一個更清晰的瞭解,做出最優的設計。
在HubSpot,在產品還沒完成之前,我們就先將功能推出去了,這樣我們就可以及時進行內部測試。這是對此端至端概念更進一步的深化。
4.適時離開電腦
有時候在除錯時,console.logging無處不在,最好的方法就是測試程式碼。也有的時候,你絞盡腦汁嘔心瀝血地想要解決一些複雜的設計和問題而不得其法,那麼你最好先暫時離開一會。雖然這聽上去有點不可思議,但是有的時候,我的確是在廁所想到了問題的癥結所在。我的愛人,她也是一枚軟體工程師,曾告訴我,當她睡著的時候常常會有各種奇思妙想(有時閉上眼睛天馬行空,有時夢裡各種方案紛至沓來)。打個盹、散散步、上個廁所……都可以,總之適時離開電腦。
5.自動化
高效的開發人員會將很多繁瑣的程式自動化。不過一直以來很多人都認為自動化只能節約時間,這是一個很普遍的誤解。其實不僅如此,自動化最大的優點是讓你的思想策馬奔騰無所阻礙,朝著完成目標的方向奮勇前行。
舉個例子,假設我需要經常執行一個相當複雜SQL查詢,而過程真心很長,每次又都要重新輸入一遍。我當然不會傻乎乎的這麼做,我會使用類似於Alfred的程式儲存於剪貼簿中,或者自己想個辦法節約一些步驟。於我而言,自動化是一種更為積極的工作態度。
6.自己動手,“豐衣足食”
當我們在設計新程式碼時,都希望自己能寫出完美的程式碼,發現每一個抽象概念。但是當我們致力於設計新程式碼時,抽象概念卻又成為了干擾因素,即便這些抽象再怎麼顯而易見、易於設計。我的做法是,不要立刻思考各種抽象概念,先簡單機械地複製一些程式碼作為原型。這能讓我迅速上手新專案,效果比我僅僅只是紙上談兵要好,之後所能做的抽象發散也更廣闊。不過,可不要光復制,還要清理程式碼,不然它們很快就會變成一筆爛攤子。
7.運動很重要
寫程式碼其實並不能燃燒很多卡洛里,因此我們必須強迫自己動起來。可以不時地伸伸懶腰,經常性地走來走去。在HubSpot,我們有一個俱樂部,我每週會有三天在午飯前去健身。此外,我的習慣是每隔一小時左右做幾個俯臥撐,拉伸肌肉,保持活力。
因為久坐我以前經常肩膀疼背疼,但是自從立式桌的出現,這些都成為了歷史。如果你也有這方面的煩惱,不妨試一下這個方法,起效快、效果好。HubSpot為我們提供的電動辦公桌可以在立式和坐式之間轉換。當然如果放在家裡,1000美元這樣一頂桌子可能太奢侈了,所以我就在網上買了個二手的,只要40美元。
8.閱讀前文
閱讀別人的文件、技術文章和程式碼常常讓我抓狂。為了不氣得抓耳撓腮、捶胸頓足,不妨先閱讀前文,以期更多的細節內容。程式中的概念很難用線性方式表達出來。閱讀前文能讓我們更清楚文章內容和程式碼在說什麼。
9.一絲不苟做筆記
有些組織化程度較低的開發人員可能會對這個技巧嗤之以鼻。知道我是怎麼做的嗎?我會將每一天我做了什麼、遇到的問題以及我是如何解決這些問題的等等,都詳細地記錄下來。然後當我再次碰到類似的問題時,那就再也不會只能“執手相看淚眼,竟無語凝噎”了。這些筆記成為了我無價的財富,因為我可以運用之前的經驗和智慧來解決現在的問題。而且要是碰到1對1績效考核時,我也能迅速想起自己為公司所做的貢獻和自己的成就。
10.給第二天做個計劃
要麼是下班回家之前,要麼是晚上睡覺前,我都會在筆記本中為第二天列個待辦事項列表。這樣,當這一天來臨的時候,我的目標就很明確,知道自己要做什麼,專心致志,聚精會神,朝著目標前進。知道嗎,這種方法讓我完成任務的速度更快質量更高,這樣我就有更多的時間休息了。
譯文連結:http://www.codeceo.com/article/10-coding-skills.html 英文原文:10 Practical Tips for Software Engineers 翻譯作者:碼農網 – 小峰
相關文章
- 10個非常實用的程式設計技巧程式設計
- 程式設計師程式設計面試取勝的8個技巧程式設計師面試
- 程式設計師獲取新程式設計技能的5個技巧?程式設計師
- 勾搭程式設計師的 11 個技巧程式設計師
- 程式設計師應該知道的 13 個設計技巧程式設計師
- 程式設計師:提高程式設計效率的技巧程式設計師
- 美女程式設計師觀點:程式設計師最重要的非程式設計技巧程式設計師
- 老程式設計師的10個程式設計小技巧,教你寫出高質量程式碼!程式設計師
- 程式設計師練習演算法的幾個實用技巧程式設計師演算法
- 程式設計師加薪的技巧程式設計師
- 程式設計師使用Node的十個技巧程式設計師
- 程式設計師的10大成功面試技巧程式設計師面試
- 程式設計師面試技巧程式設計師面試
- 程式設計師應該掌握的10個搜尋技巧程式設計師
- 老程式設計師推薦10個程式設計策略程式設計師
- Python 程式設計實用技巧Python程式設計
- 程式設計師程式設計時的簡單方法與技巧程式設計師
- MySQL程式設計中的6個重要的實用技巧MySql程式設計
- 程式設計師程式設計10大原則程式設計師
- 一個程式設計師使用 PPT 的小技巧程式設計師
- 自由程式設計師的3個開發技巧程式設計師
- Java程式設計師應該知道的10個除錯技巧Java程式設計師除錯
- C#程式設計師經常用到的10個實用程式碼片段C#程式設計師
- 程式設計師10大職業生存技巧程式設計師
- 分享6個Python程式設計非常實用的技巧!Python程式設計
- 好程式設計師Java培訓分享Java程式設計技巧程式設計師Java
- 一個老程式設計師的程式設計之路,寫給年輕的程式設計師們程式設計師
- 成為專業程式設計師的6個技巧程式設計師
- 成為專業程式設計師的 6 個技巧程式設計師
- 程式設計師的“非程式設計師”之路程式設計師
- 程式設計必知的10個Unix命令技巧程式設計
- 7個Web前端程式設計師必須會用CSS技巧Web前端程式設計師CSS
- Swift程式設計的15個技巧Swift程式設計
- 世界級大牛對程式設計師超實用的程式設計箴言(上)程式設計師箴言
- 世界級大牛對程式設計師超實用的程式設計箴言(下)程式設計師箴言
- 程式設計師的10個好習慣程式設計師
- 程式設計師10個糟糕的特徵[轉]程式設計師特徵
- 程式設計師跳槽的10個建議程式設計師