開發中的一些小習慣---能夠減小你不少debug的時間

有句話常說,細節決定成敗,可是細節在哪裏呢?咱們又要怎樣來尋找這些細節呢?javascript

其實這些都是習慣養成的,前端

你說一個有潔癖的人,也不是天生的,他只是平時很注意衛生,因此慢慢地就養成了所謂的潔癖java

那麼咱們作開發的人,其實就應該養成一些開發的習慣,,,,甚至是潔癖jquery

由於我拿手的是javascript,因此如下的案例我就以js爲例,一步一步地說c++

1.注意開發的模塊化區分git

說到模塊發開發,有不少新手可能會比較懵逼,以爲這不重要,錯!!!!!web

其實這對於新手來講纔是最重要的,爲何呢?ajax

雖然這沒有什麼硬性的要求,可是這會很方便你的後期debug數據庫

下面咱們舉個簡單的例子異步

在一個web項目中,我有三張頁面,分別是home,nav,detail

若是這個目錄按照我這樣的格式來寫,是否是後期調試找頁面的時候,不會找的很累呢?

固然這也不是硬性要求的,仍是看你本身怎麼來安排,畢竟你要爲你之後的debug負責

2.命名

這個其實要仔細拿來講,其實須要很長的篇幅來解釋,

可是在這裏,我就提一點,那就是語義化

什麼叫語義化?

function func1(){
  //add list
}

function func2(){
  //delete list
}

在沒有看到方法裏面的註釋以前,我是徹底不知道這個func1和func2是幹什麼用的

在看下面這個

function addList(){
  //add list
}

function deleteList(){
  //delete list
}

這兩個方法,我甚至不須要看方法裏面的內容,我就知道它是用來作什麼事的,

這樣就減小了不少多人開發會致使的問題,

在命名的這一點上,英語好的固然是會佔點優點,可是這不是關鍵,

英語很差你能夠翻字典啊,

3.初始化變量時,在後面加上一個默認值

不論是前端仍是服務端,總會遇到要接別人數據的時候,

而後這個時候最大的問題就是傳數據的那一方,若是改變了哪個字段,或者是忘記傳了哪一個值,

使得變量出現了空值的現象,而這種空值可能會致使整個項目直接崩掉,就徹底跑不下去了

那這個時候怎麼辦呢?

$.get('/getData',function(results){
  var myData = results.data || {};
})

這是一個簡單地獲取ajax數據的方法,此時我就能夠保證myData這個變量絕對不會出現undefined這種現象,

固然jquery裏面原本就有很好的異步處理,所以不會出現空值的狀況,可是咱們在本身開發的時候,也不能不考慮這種現象

尤爲是在會出現同步阻塞的狀況,必定不能忘記這種狀況

4.代碼提交

不少公司都是把代碼利用svn或者是git存放在遠程倉庫中的,

那麼咱們在平時開發的時候就要注意,點滴式提交

什麼意思呢?

就是每當咱們完成一個功能,修復一個bug,新增一個需求等等操做的時候,

就向遠程倉庫進行一次提交,爲何要這麼作呢?

仍是爲了咱們更好地debug,這樣能夠很清晰地找到問題所在,也能夠減小不少將來debug的時間

5.解決了問題不要就這麼過去了,要作好筆記

有不少的朋友曾經向我提起過,

我作這行三四年了,感受沒什麼收穫啊,

前端就是天天切切頁面,寫寫腳本,作作渲染

服務端就是增刪改查,操做一下數據庫

徹底不知道本身幾年來幹了什麼?

其實我就想問,作這行這麼幾年,你就真的一次都沒有遇到過問題?每次頁面都是一次切完?每次增刪改查都是一次成功?

積累都是從一點一滴開始的,哪怕是再簡單的字母拼寫錯誤,那也是一個坑,

這樣之後你在遇到這個問題的時候,翻翻筆記就能夠跨過這個坑了,提升的開發效率是你沒法想象的

6.寫一些儘可能能讓人看懂的代碼

最後一點,也是最難的一點,

知道福爾摩斯身邊爲何有個華生嘛?  就是由於華生是個普通人,他思考的方式都是以常人的角度來的,每每有時候一些很日常的點,是最難讓人發現的

什麼叫作化腐朽爲神奇.....

互聯網產品的最完美形態,就應該是一個傻瓜都能操做的產品,不須要教程,不須要模板,一上手就可使用,那樣纔是最完美的

因此咱們寫代碼也是,不要以爲別人寫的代碼很騷,你徹底看不懂,就很厲害了,那這種代碼也只能適用於少數人而已,

爲何java學起來快,c++學起來那麼難?

其實身邊的不少例子告訴咱們,簡單一點纔是最重要的

簡單了,之後換我的來調試你的程序,也會快上不少

相關文章
相關標籤/搜索