减少嵌套
发布者:admin 发表于:444天前 阅读数:657 评论:0

代码应通过尽可能先处理错误情况/特殊情况并尽早返回或继续循环来减少嵌套。减少嵌套多个级别的代码的代码量。

Bad Good

for _, v := range data { if v.F1 == 1 { v = process(v) if err := v.Call(); err == nil { v.Send() } else { return err } } else { log.Printf("Invalid v: %v", v) } } |

for _, v := range data { if v.F1 != 1 { log.Printf("Invalid v: %v", v) continue }

v = process(v) if err := v.Call(); err != nil { return err } v.Send() } |