轉帖|行業(yè)資訊|編輯:我只采一朵|2014-10-20 10:01:06.000|閱讀 268 次
概述:下面為程序員分享10個非常實用的編程技巧,幫助你提高編程效率。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
下面為程序員分享10個非常實用的編程技巧,幫助你提高編程效率,讓工作更加得心應手。
不知道各位有沒有這樣的經歷,當你正在給別人描述問題的時候,突然靈機一動想到了解決方案?這種情況的產生是有科學依據的。高談闊論能讓我們的大腦重新 有條理地組織問題。在這種情況下,你的聊天對象就是“橡皮鴨”。團隊中的每個人都應該積極主動樂意地成為彼此的“橡皮鴨”。有時候,如果你幸運的話,你的 “橡皮鴨”搞不好還能給出有效的建議呢。
一旦寫好代碼就要盡快得到反饋。當你和我們在HubSpot一樣,收到大量的Pull請求,不妨做些細微的改動,然后立馬打開PR,討論設計和代碼。和你的“橡皮鴨”交流一下,請他們提點建議。要知道,迭代原型可遠比糾正成品要節(jié)約成本。
有的團隊結構,最初可能并不要求寫代碼。因為實體模型、白板設計等等,這些成本都比一下子刪改上千行代碼的成本要低。
當我們在解決問題和完成功能時,很容易深入到細節(jié)問題的研究。這里有一個好方法,能讓我們盡快搞定端至端。
例如,假設我需要在網頁上設置一個功能,能在用戶點擊之后做一些復雜運算并把結果存儲到服務器中。有些童鞋可能想著想著就先去研究這個運算方式了。我的 做法是,先為用戶的操作設置事件處理程序,用一些固定的值來模擬計算,然后調用API向服務器請求數據。這樣一來,我們就沒必要先考慮每一個具體細節(jié),可 以直接端至端地測試系統(tǒng)。同時,這個快速的反饋回路有助于我們更快地迭代和寫代碼。一開始出來的設計可能并不完美,但是通過親眼目睹各個部件是如何組合 的,我們將會對整個系統(tǒng)有一個更清晰的了解,做出最優(yōu)的設計。
在HubSpot,在產品還沒完成之前,我們就先將功能推出去了,這樣我們就可以及時進行內部測試。這是對此端至端概念更進一步的深化。
有時候在調試時,console.logging無處不在,最好的方法就是測試代碼。也有的時候,你絞盡腦汁嘔心瀝血地想要解決一些復雜的設計和問題而 不得其法,那么你最好先暫時離開一會。雖然這聽上去有點不可思議,但是有的時候,我的確是在廁所想到了問題的癥結所在。我的愛人,她也是一枚軟件工程師, 曾告訴我,當她睡著的時候常常會有各種奇思妙想(有時閉上眼睛天馬行空,有時夢里各種方案紛至沓來)。打個盹、散散步、上個廁所……都可以,總之適時離開 電腦。
高效的開發(fā)人員會將很多繁瑣的進程自動化。不過一直以來很多人都認為自動化只能節(jié)約時間,這是一個很普遍的誤解。其實不僅如此,自動化最大的優(yōu)點是讓你的思想策馬奔騰無所阻礙,朝著完成目標的方向奮勇前行。
舉個例子,假設我需要經常運行一個相當復雜SQL查詢,而過程真心很長,每次又都要重新輸入一遍。我當然不會傻乎乎的這么做,我會使用類似于Alfred的程序保存于剪貼板中,或者自己想個辦法節(jié)約一些步驟。于我而言,自動化是一種更為積極的工作態(tài)度。
當我們在設計新代碼時,都希望自己能寫出完美的代碼,發(fā)現每一個抽象概念。但是當我們致力于設計新代碼時,抽象概念卻又成為了干擾因素,即便這些抽象再 怎么顯而易見、易于設計。我的做法是,不要立刻思考各種抽象概念,先簡單機械地復制一些代碼作為原型。這能讓我迅速上手新項目,效果比我僅僅只是紙上談兵 要好,之后所能做的抽象發(fā)散也更廣闊。不過,可不要光復制,還要清理代碼,不然它們很快就會變成一筆爛攤子。
寫代碼其實并不能燃燒很多卡路里,因此我們必須強迫自己動起來。可以不時地伸伸懶腰,經常性地走來走去。在HubSpot,我們有一個俱樂部,我每周會有三天在午飯前去健身。此外,我的習慣是每隔一小時左右做幾個俯臥撐,拉伸肌肉,保持活力。
閱讀別人的文檔、技術文章和代碼常常讓我抓狂。為了不氣得抓耳撓腮、捶胸頓足,不妨先閱讀前文,以期更多的細節(jié)內容。程序中的概念很難用線性方式表達出來。閱讀前文能讓我們更清楚文章內容和代碼在說什么。
有些組織化程度較低的開發(fā)人員可能會對這個技巧嗤之以鼻。知道我是怎么做的嗎?我會將每一天我做了什么、遇到的問題以及我是如何解決這些問題的等等,都 詳細地記錄下來。然后當我再次碰到類似的問題時,那就再也不會只能“執(zhí)手相看淚眼,竟無語凝噎”了。這些筆記成為了我無價的財富,因為我可以運用之前的經 驗和智慧來解決現在的問題。而且要是碰到1對1績效考核時,我也能迅速想起自己為公司所做的貢獻和自己的成就。
要么是下班回家之前,要么是晚上睡覺前,我都會在筆記本中為第二天列個待辦事項列表。這樣,當這一天來臨的時候,我的目標就很明確,知道自己要做什么,專心致志,聚精會神,朝著目標前進。知道嗎,這種方法讓我完成任務的速度更快質量更高,這樣我就有更多的時間休息了。
Via ITeye
本站文章除注明轉載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn