大道至簡-如何提高開發效率

作為一個程序員,我最大的夢想就是按一下回車鍵就完成一個禮拜的工作

大學某老師說過,在計算機的道路上,通常阻礙我們進步的不是困難,而是重復,不斷地機械重復。直到你覺得自己不再是人,而是一臺機器。

為了不變成機器,我們是不是應該減少重復?

但是你有沒有發現,你每天都在敲一些相同的代碼?

比如:

function(){}
或者
console.log()
或者
if(){}else{}

我敲上面的代碼大概用了20秒,正常速度,但敲多了還是會覺得累。

據說計算機剛發明的時候,程序員是在一張長長的紙條上打孔,以代表0和1
而現在我們可以用高級語言編程,其實已經很幸福。不過科技應當不斷地進步,使人用更自然地方式去工作,而不是綁定在椅子上,不停地敲打鍵盤。

何謂更自然的方式?比如,用筆畫,用手指點,拖拽,用語音。而不是去記憶一大堆代碼。

當然,現在的ide還沒有到達那么智能的程度,很大一部分原因是語言太多,工具太多,沒有這么多人力去研究,優化工具。

但作為程序員,應該有這個覺性:要使用工具,而不要被工具奴役。

以下我想總結的是,程序員提高開發效率的關鍵點。

1.專注

這點是提高效率的必要前提。如果你要一邊帶娃一邊編程,一個小時能寫一個function就不錯了,效率免談。

2.選一款好的ide

最早的時候我使用nodepad,后來用過visual studio,再后來接觸過sublime,webstorm,Hbuilder,vscode,其實都各有千秋。不妨多試試,找找它們的特點,慢慢地你會知道什么適合自己。

而我現在選擇的是vscode. 我選擇ide有幾個考慮因素:

1)安裝簡單快速: 以前用visual studio時,動輒幾個G,有用沒用安裝一大堆,想遷移工作環境真是費勁。而vscode,30多兆,安裝快速,十分輕松。

2)運行方便:vscode支持右鍵菜單,可以在文件夾上單擊右鍵打開文件夾,打開后文件夾就是一個項目,不需要再建什么項目文件。可以打開多窗口命令行,運行不同的實例。
當然,我的開發環境是nodejs,其他暫不了解。

3)插件多:豐富的插件是提高開發效率必須的,不多言。

4)很少卡殼:如果你的ide打開大的項目時經常卡頓,而且已經加到8G內存,那你真該換ide了,畢竟你不是做photoshop,消耗太多內存是不正常的。

3.學會使用ide

其實第三點跟第二點并不重復。因為有的人在用一款很好的ide,卻只用到它的基本功能,而一些強大的功能卻用不上。

我覺得在有時間的時候,應該將你常用的ide的每一個菜單每一個功能都研究一遍,哪怕花兩天的時間也是值得的,因為它是你的生產工具呀。你的生產效率決定了你的價值呀!

4.掌握開發的竅門

以下講一講提高開發效率的一些竅門,或許不僅僅可以應用在寫程序哦:

避免頻繁地切換注意力

切換本身就是會損耗時間空間的,例如,單核多任務系統,為了達到多任務,要不停地在時間片之間切換,而切換本身需要空間存儲入口,并且消耗時間運算,總比不上多核系統。

延伸到寫代碼:你把手從鍵盤移開,抓住鼠標,移動鼠標并激活一個窗口,然后手再移回鍵盤敲代碼的過程中,你的注意力其實已經發生了數次轉移,這樣做其實更容易疲勞,并且比單純用鍵盤和鼠標更容易得肩周炎。因此,記住一些常用的快捷鍵,包括窗口切換,代碼編輯等,對你是非常有利的。

再進一步,做開發時可能要同時參考設計稿,數據庫字段,API文檔,同時編寫代碼,預覽效果圖。如果有兩到三個甚至4個顯示器,直接轉頭就能看見,連快捷鍵都能少按些,還能順便給頸部做做運動,預防頸椎病。當然,如果不是必要的,我不建議同時做這些事,而是傾向于分開批量處理,形成一個流程。

自己造輪子

現在有很多編輯器都有snippet。即將你常用的代碼寫入相應語言的snippet文件中,在使用時只需敲幾個字母就能生成一大段代碼。這種方法可以說是以簡馭繁。但是這些代碼段應該經常整理,避免最后連自己都忘記了。

另外,在項目中用過的代碼,如果能進一步優化,減少耦合,使其模塊化,能使用在其它項目中,也能在一定程度上提升開發效率。當然,這就需要項目經驗的積累了。

用別人造好的輪子

框架好不好其實是看項目需要的。如果只是做一兩個頁面,當然越簡單越好。但做大一點的應用,就要考慮考慮了。比如:框架的插件是否夠豐富,文檔是否齊全,學習成本高不高,樣式修改難度,編碼是否簡潔。如果寫到一半發現項目需要的效果做不到,還要花許多時間去寫擴展插件,其實會耽誤整體的開發時間。

使用自動任務

懶人應該能躺著就不坐著,能坐著就不站著,對于重復的操作,應當盡量使用自動任務去代替:

用node 運行項目不如用supervisor,因為項目掉鏈了能自動重啟;

每次按ctrl+s保存不如讓它自動保存,反正可以回退;

編輯完網頁要按F5刷新不如使用熱更新,保存之后能馬上看到變化。

先規劃后制作,批量處理同類工作

其實效率除了跟個體的熟練程度有關外,還跟工作流程有關。

比如做前端開發,與其做一頁算一頁,不如總體把需求梳理一便,定好頁面名稱,頁面目錄結構,然后把頁面都新建好,把該用的組件和插件都寫好,公用方法都擼完,再開始寫頁面。這樣在寫頁面時,用到的方法都有了,圖片都有了,甚至樣式主題也都有配置了,寫起來才能行云流水。否則寫著寫著,你可能會發現又缺個東西,然后又引進來,然后還要接著原來的流程寫,思路經常會被打斷。

總結的總結

其實效率的提高總是有上限的。

如果你的效率提高到一周能做一個項目的程度,你的老板絕不會錯過讓你一個月做四個項目的機會,或許你還是不能避免加班的可能。加班多了難免疲憊,第一條的專心原則就做不到了,效率又會隨之下降。

所以提高效率的方法更適合目標明確的人,畢竟我們提高效率并不是要壓榨時間,只是不想浪費時間。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,420評論 25 708
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,246評論 4 61
  • 給自己定一個小目標 每天少在意他一點點,多在意自己一點點
    圓臉小姐的長臉先生閱讀 103評論 0 0
  • 直到今年4月初,我跟老鄭在一起已經整整四年半了。走過了大學三年,走過了研究生一年半,有時候竟覺得我們好似仍處...
    小鹿物語閱讀 236評論 0 2
  • 習慣了那么多年的聒噪世界 一下子靜默得有點失真, 就像街上整天嘈咋的電音喇叭 戛然而止后 所帶來的一瞬間茫然。 失...
    卿此閱讀 232評論 0 0