今天檢視自己為《專業嵌入式軟體開發》一書所寫的**時發現,個別函式由於沒有引入中間變數,使**行既長又不易讀。重構前後的**如下所示。
重構前:
if (timer_started == _handle->state_)next = (timer_handle_t)dll_next
(&g_buckets [_handle->bucket_index_].dll_, &_handle->node_);
if (0 != next)
dll_remove (&
g_buckets [_handle->bucket_index_].dll_, &_handle->node_);
if (
g_buckets [_handle->bucket_index_].reentrance_ > 0)
}重構後:
程式設計好習慣
我們在編碼的時候總是希望能寫出風格良好,清晰 健壯的程式,把 當成一件藝術品來看待 來雕琢,讓 coding成為一種藝術。看了很多大牛關於程式設計風格與修養方面的文章,很受啟發,結合自己體會,簡錄幾條,提醒自己時刻注意。1.引數檢查 對於有引數的函式,首先要對引數的合法性進行檢查。可以利用asser...
程式設計好習慣
1.dry 不要重複你自己 don t repeat yourself dry是一條最容易理解但又是相對比較難以應用的原則。它是指當你在兩處或者更多的地方發現相似 時,我們應當把它們抽象成乙個新的函式,在之前重複的地方呼叫新的函式並帶上適當的引數。dry也許是最普遍的一條程式設計原則,我從未發現乙個...
C 程式設計好習慣
1.不要在建構函式中做初始化操作 要求類 尤其是對外介面類 提供init 函式,在該函式中進行相關初始化操作,初始化失敗能夠返回錯誤碼。可以規避問題 建構函式中難以返回錯誤碼,外部呼叫者無從判斷初始化結果。當該類作為全域性變數使用時,構造函式呼叫發生在main 函式執行之前,出現問題難以追蹤。2.所...