• 缩小变量作用域

    缩小变量作用域

    如果有可能,尽量缩小变量作用范围,除非这样与减少嵌套的规则冲突。

    BadGood
    1. err := ioutil.WriteFile(name, data, 0644)
    2. if err != nil {
    3. return err
    4. }
    1. if err := ioutil.WriteFile(name, data, 0644); err != nil {
    2. return err
    3. }

    如果需要在 if 之外使用函数调用的结果,则不应尝试缩小范围。

    BadGood
    1. if data, err := ioutil.ReadFile(name); err == nil {
    2. err = cfg.Decode(data)
    3. if err != nil {
    4. return err
    5. }
    6. fmt.Println(cfg)
    7. return nil
    8. } else {
    9. return err
    10. }
    1. data, err := ioutil.ReadFile(name)
    2. if err != nil {
    3. return err
    4. }
    5. if err := cfg.Decode(data); err != nil {
    6. return err
    7. }
    8. fmt.Println(cfg)
    9. return nil