有句話常說,細節決定成敗,可是細節在哪裏呢?咱們又要怎樣來尋找這些細節呢?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++學起來那麼難?
其實身邊的不少例子告訴咱們,簡單一點纔是最重要的
簡單了,之後換我的來調試你的程序,也會快上不少