在提高本身技術水平每一個人可能有不一樣的方式
看別人好的代碼和本身多寫代碼是一個比較好的選擇。後端
先來模擬一種場景好比
後端返回一個內容
而後咱們須要根據返回的字段不一樣值進行顯示內容數組
先看一段可能咱們最容易會寫的代碼spa
var code = 0; if(code == 0){ show("正確"); }else if(code == 1){ show("不正確,已過時") }else if(code == 2){ ...... }
由於這裏只有單一的code的變化去顯示內容
咱們還可能會想到用如下的方式code
switch(code){ case 0: show("正確"); case 1 show("不正確,已過時"); ...... }
這兩種形式其實沒什麼太大的區別
我一般遇到這種狀況的時候
是這樣寫的對象
var codeInfo = ["正確", "不正確,已過時" ......]; show(codeInfo[code])
若是返回的code沒有對應的數組下標的話
申明變量的時候就改爲對象的形式blog
var codeInfo = { 0 : "正確", 1 : "不正確,已過時" ...... }
若是比較複雜的狀況
根據狀態的不一樣,而後方法也不一樣,能夠這樣作ip
var codeFunc = { 0 : function(){ show("正確") }, 1 : function(){ alert("不正確,已過時") } ...... } codeFunc[code]();
以前寫過一段很是複雜的邏輯,
複雜到不可思議那種。
總共十幾種狀態,每一種狀態又是根據 不一樣字段組合而成的。
以前的代碼都是 if else 作下來的
反正不去動它其實也不是說難以維護
可是總歸就是看起來low。
重構的話就是按照上面那種思想去處理的。
能夠稍微感覺一下it
我之前的後端領導跟我講過
寫代碼就跟建管道同樣
一條管道永遠是最易維護的
因此咱們要把預先不要的東西放到最上面
好比io
if(abc){ func(...); }else{ return; } if(!abc) return; func(...);
這兩種方式
在代碼整潔和可讀上面
咱們都應該選擇第二種形式function
初期可能咱們寫的代碼可能比較難看
若是時間容許的狀況下,能夠抽空去改一下以前的這種邏輯很複雜的代碼。
或許會獲得不少咱們意想不到的知足感。
ps:早睡早起,常作運動,多與異性交朋友~