party bid重構小結

2021-08-27 19:05:00 字數 1423 閱讀 6459

關於party_bid專案**的重構,就我目前的了解做一基礎的小結。

這裡我主要講如何縮減**。

關於縮減**,現在我用的主要是underscore的一些方法。

1.用find方法去除for迴圈巢狀if判斷語句

看下面一段**:

for (var n = 0; n < activities.length; n++)
我們可以這樣替換:

_.find(activities,function(activity)).status = 0;  //這樣我們就通過find找到對應的物件並進行改值
接下來我們了解一下find方法:

var even = _.find([1, 2, 3, 4, 5, 6], function(num));

//find會返回遍歷陣列找到符合條件的第乙個物件元素,不一定會遍歷完整個陣列,上面的式子會返回被2整除的第乙個數2

講到find,就要講講與它相似的filter:

var evens = _.filter([1, 2, 3, 4, 5, 6], function(num));

// filter會返回乙個新陣列,像上面的式子會返回 [2, 4, 6],filter它與find的不同是它會遍歷完整個陣列,找出資料中所有符合條件的元素

filter我們也可以用來代替某些特定功能的for迴圈。

2.用map方法去除一些for迴圈

看乙個for迴圈:

var a = [1,2,3,4]

for (var i = 0;i < a.length;i++)

用map代替:

_.map(a,function(num))
3.去除一些if

比如這樣的乙個if:

var a;

if(activities.length)

if(!activities.legth)

可以寫成這樣:

var a = activities.length ? 1 : 0;
4.every()和some()

every()和some()方法是陣列的邏輯判定:它們對陣列元素應用指定的函式進行判定,返回true和false。

every()是當且僅當陣列中的所有元素呼叫判定函式都返回true,它才返回true。

some()是當陣列中至少有乙個元素呼叫判定函式返回true,它就會返回true。

a = [1,2,3,4,5];

a.every(function(x) ) //返回true

a.every(function(x) ) //返回false

a.some(function(x) ) //返回false

a.some(function(x) ) //返回ture

還有很多方法,繼續學習,繼續總結,重構的越來越好。

party bid第二張卡總結

第二張卡主要涉及簡訊的收發,對收到的簡訊進行處理,提取有用資訊。以下是對第二張卡的一些方法總結。收到簡訊是先要對簡訊進行去空格處理,而後查詢是否包含關鍵字,這裡用到的方法如下 message.replace s g,message.search bm i 需要說明的是replace s g,中 s ...

乙個專案工程的重構小結

首次看到移交到我手上的c 工程那個7千多行 的檔案時,既佩服又擔心,前輩的構架能力讓我甘拜下風,同時擔心能不能勝任。在研究原始碼的時候,也解決幾個線上遺留的問題。愈發覺得有重構的必要 因為這將是我負責的 不完全重構 那叫重寫,一是否定了前輩的功勞,二是接觸不久業務不熟,風險大。因此總體原則是逐步重構...

重構之維 關於重構及《重構》的隨想

重構之維 關於重構及 重構 的隨想 重構 究竟重構了什麼?不止一次地,我聽到我們這個行業裡的大師們對重構技術提出 至少是 置疑 那是我們過去十五年裡一直在做的事 我從 上世紀 70年代就已經開始這樣做了 unix上的黑客們一直都是這樣做的 這些說辭讓我很有興趣探其究竟。在這本 重構 裡,martin...