以此记录那些年 Code Review 遇到的坑😂。 变量作用域 变量应该遵循最小作用域的原则,否者可能引起错乱。 案例1 函数的功能是:将 MongoDB 数据库中所有 offline 是 false 的记录,同步到 Redis 中。 Bad tmpl 的作用域在 for 循环之外,在对每条查询结果做 cursor.Decode 时 tmpl 变量未被重置,这造成之前记录的值可能残留在这次 cursor.Decode 的结果中,从而导致数据错乱。 1func Foo(ctx context.Context) error { 2 cursor, err := …
阅读更多