而不是
def do_something(a, b, c): return res_fn( fn(a, b), fn(b), c )
我願意:
def do_something(a, b, c): inter_1 = fn(a, b) inter_2 = fn(b) result = res_fn(inter_1, inter_2, c) return result
第一個版本短得多,如果格式正確,同樣具有可讀性。
但我更喜歡第二種方法的原因是因為所有中間步驟都保存到局部變數中。
像Sentry這樣的異常追蹤工具,甚至是設定DEBUG=True時彈出的Django錯誤頁面,都會捕捉本地上下文。最重要的是,如果您必須使用偵錯器單步執行該函數,您可以在單步執行該函數之前看到確切的返回值。這就是為什麼我甚至在返回之前將最終結果保存在局部變數中的原因。
以幾個額外的變數賦值和幾行額外的程式碼為代價,這使得偵錯變得更加容易。
以上是為什麼我總是將中間值分配給局部變數而不是直接將它們傳遞給函數調用的詳細內容。更多資訊請關注PHP中文網其他相關文章!