国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

寫通俗易懂代碼-用衛語句替代嵌套條件表達式

tracy / 1309人閱讀

摘要:在重構法則上,這種叫法則,衛語句。在我們使用語句時,判斷是否是錯誤的情況出現嵌套,可以是用語句,讓失敗前置。

問題:
當我們在寫業務邏輯時候,不知不覺已經把代碼嵌套了好幾次:

if (true){
            if (true){
                if (true){
                    for (){
                        if (true){
                            業務代碼
                        }
                    }
                }
            }
        }

在有比較復雜的判斷和需要遍歷處理業務時候,經常會出現上面這種情況,這些代碼在執行起來是沒問題。但是這樣的代碼是一次性代碼,過一段時間,可能自己都不敢動這里的邏輯了,更何況下一個接盤俠呢。
這樣的代碼很難弄明白每個條件的作用和執行的流程,當你讀到最里面一層的時候,估計你已經記不起來當初是為什么走進這個if的了,對代碼的執行流程完全不可控了。因為執行你預期的流程并不明顯,為了簡化這種情況,需要將特殊情況隔離到立即結束執行的多帶帶條件中。
這樣就能把箭頭代碼給拉平.

        if (false){

        }
        if (false){

        }
        if (false){

        }
        for (){
            if (false){
                continue;
            }
            業務代碼
        }

這是其中一類,可以將失敗前置。只要有一個條件不通過,就快速返回失敗,如果到了最后一行,說明所有判斷都通過,剩下的就是你預期的結果。而不是一直查成功。
在重構法則上,這種叫Guard Clause法則,衛語句。
還有一種重構方式,就是將復雜的業務邏輯從if塊中抽取為一個業務方法,即使這個方法只被使用一次。這種常常用在循環塊中,或者多個if...else塊中。
開發中要深刻的理解到函數的作用,是代碼的封裝或者抽象。將復雜的業務邏輯進行封裝抽象,讓我們從業務接口解耦,不需要關注具體實現,從而簡化我們的代碼,使得復雜的業務邏輯讀起來也有條不紊。
在我們使用if...else...語句時,判斷是否是錯誤的情況出現嵌套,可以是用guard clause語句,讓失敗前置。如果if過多,可能出現多個失敗code導致客戶端解析困難,我們可以將所有錯誤結果包裝為一個異常狀態即可。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/76421.html

相關文章

  • js之靈活使用可遍歷數組的API

    摘要:總結遍歷數組的時候應該盡量使用這些,靈活運用可以讓代碼更加優雅,這種盡可能使用函數和鏈式調用的風格很接近函數式編程,可以提高代碼質量。 js中有很多可以遍歷數組的API,既然已經封裝的這么好,為什么不在平常開發的時候使用,本文講講forEach、map、filter、some、every、reduce這些API的使用,并且和普通的for語句作對比。 我們以一個對象數組作為測試數據: c...

    sutaking 評論0 收藏0
  • 高性能javascript小結

    摘要:高性能小結文章轉載于我的博客最近看完了動物叢書的高性能,覺得那本書的小結部分寫得非常不錯,簡潔輕快易懂概括性很強。由于局部變量存在于作用域鏈的起始位置,因此訪問局部變量比訪問跨作用域變量更快。 高性能javascript小結 文章轉載于我的CSDN博客:http://blog.csdn.net/hello_world_20/article/details/46793317 最近看完了動...

    wujl596 評論0 收藏0
  • python之遞歸生成器[yield用法]

    摘要:在所寫的暢銷書籍基礎教程中講到了遞歸生成器的用法。二易懂的程序其實,遞歸生成器非常簡單,主要分為兩部分基線條件和遞歸條件。我們以易懂通俗的方式來解釋遞歸生成器的用法,并且依次打印列表中的數字。 ? ? ? ? 在Magnus Lie Hetland所寫的暢銷書籍《Python基礎教程》中講到...

    littleGrow 評論0 收藏0
  • 《重構---改善既有代碼的設計》

    摘要:為何重構重構有四大好處重構改進軟件設計如果沒有重構,程序的設計會逐漸腐敗變質。經常性的重構可以幫助維持自己該有的形態。你有一個大型函數,其中對局部變量的使用使你無法采用。將這個函數放進一個單獨對象中,如此一來局部變量就成了對象內的字段。 哪有什么天生如此,只是我們天天堅持。 -Zhiyuan 國慶抽出時間來閱讀這本從師傅那里借來的書,聽說還是程序員的必讀書籍。 關于書的高清下載連...

    baihe 評論0 收藏0

發表評論

0條評論

tracy

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<