[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-post-what-code-review-is-for-zh-CN":3,"blog-adjacent-what-code-review-is-for-zh-CN":30,"blog-related-what-code-review-is-for-zh-CN":64},{"id":4,"slug":5,"title":6,"excerpt":7,"content":8,"cover":9,"tone":10,"author":11,"publishedAt":12,"updatedAt":12,"readingMinutes":13,"featured":14,"tags":15,"category":19,"seoSettings":29},90,"what-code-review-is-for","代码评审是为了什么","评审不是找错，是让另一个人的脑子过一遍你的代码。","\u003Cp>早期我们评代码，习惯挑毛病：这里命名不好，那里可以更简洁。结果大家提交前很紧张，评审变成了一种对抗。后来我们调整了关注点，评审才真正开始起作用。\u003C\u002Fp>\n\u003Ch2>先问对的问题\u003C\u002Fh2>\n\u003Cp>这段代码解决的是问题本身吗？有没有可能理解错了需求。这比风格问题重要得多。\u003C\u002Fp>\n\u003Cp>边界情况想全了吗？空值、并发、权限、失败重试，这些是线上事故的主要来源。\u003C\u002Fp>\n\u003Cp>下一个人接手能看懂吗？半年后的自己也算下一个人。\u003C\u002Fp>\n\u003Ch2>不该在评审里做的事\u003C\u002Fh2>\n\u003Cp>争论缩进与括号位置。格式交给工具，不占用人的时间。\u003C\u002Fp>\n\u003Cp>要求作者按评审者的写法重写。只要实现正确、可读，风格差异可以放过。\u003C\u002Fp>\n\u003Cp>在公开评论里否定人的能力。对代码严格，对人保持尊重。\u003C\u002Fp>\n\u003Cp>评审的目标不是让代码变成评审者喜欢的样子，而是让它在别人眼里也能站得住。\u003C\u002Fp>","","cyan","佳益方圆团队","2026-09-29T10:13:00+08:00",1,false,[16,17,18],"团队文化","代码评审","工程实践",{"id":20,"parentId":21,"slug":22,"name":23,"description":24,"icon":25,"cover":9,"tone":26,"kind":27,"sortOrder":28,"count":21},4,0,"team-culture","团队动态","公司活动、技术分享、团建与招聘文化，了解佳益方圆团队的日常。","users","blue","article",30,{},{"previous":31,"next":48},{"id":32,"slug":33,"title":34,"excerpt":35,"content":9,"cover":9,"tone":10,"author":11,"publishedAt":36,"updatedAt":36,"readingMinutes":13,"featured":14,"tags":37,"category":41},71,"mes-integration-retro","制造企业 MES 对接复盘","系统对接最难的部分不是接口，而是让两个部门对同一个字段达成一致。","2026-10-01T10:13:00+08:00",[38,39,40],"复盘","制造业","系统集成",{"id":42,"parentId":21,"slug":43,"name":44,"description":45,"icon":46,"cover":9,"tone":26,"kind":27,"sortOrder":47,"count":21},3,"project-retrospective","项目复盘","从 0 到 1 的真实项目记录，完整呈现问题、方案、踩坑经验与最终结果。","clipboard-check",40,{"id":49,"slug":50,"title":51,"excerpt":52,"content":9,"cover":9,"tone":26,"author":11,"publishedAt":53,"updatedAt":53,"readingMinutes":13,"featured":14,"tags":54,"category":58},109,"local-software-budget","本地软件预算的两个新趋势","预算总额没有明显增长，但花钱的方式变了：更少的一次性大项目，更多的持续性投入。","2026-09-27T10:13:00+08:00",[55,56,57],"行业观察","预算","信息化",{"id":59,"parentId":21,"slug":60,"name":55,"description":61,"icon":62,"cover":9,"tone":26,"kind":27,"sortOrder":63,"count":21},5,"industry-watch","对互联网、软件与数字化行业趋势的深度分析，输出团队自己的判断。","globe",20,[65,75,86],{"id":66,"slug":67,"title":68,"excerpt":69,"content":9,"cover":9,"tone":26,"author":11,"publishedAt":70,"updatedAt":70,"readingMinutes":13,"featured":14,"tags":71,"category":74},89,"thirty-minute-weekly","每周三十分钟的技术分享会","不讲新技术，不讲行业趋势，只讲这周踩过的坑和解决方式。","2026-10-11T09:00:00+08:00",[16,72,73],"技术分享","成长",{"id":20,"parentId":21,"slug":22,"name":23,"description":24,"icon":25,"cover":9,"tone":26,"kind":27,"sortOrder":28,"count":21},{"id":76,"slug":77,"title":78,"excerpt":79,"content":9,"cover":9,"tone":80,"author":11,"publishedAt":81,"updatedAt":81,"readingMinutes":13,"featured":14,"tags":82,"category":85},91,"docs-start-with-templates","文档从模板开始","没人愿意写文档，多半是因为不知道从哪写起。一张模板能解决大半问题。","teal","2026-09-17T11:26:00+08:00",[16,83,84],"文档","知识管理",{"id":20,"parentId":21,"slug":22,"name":23,"description":24,"icon":25,"cover":9,"tone":26,"kind":27,"sortOrder":28,"count":21},{"id":87,"slug":88,"title":89,"excerpt":90,"content":9,"cover":9,"tone":91,"author":11,"publishedAt":92,"updatedAt":92,"readingMinutes":13,"featured":14,"tags":93,"category":96},92,"first-month-onboarding","新人第一个月怎么过","第一个月的目标不是产出，而是让新人知道遇到问题该找谁。","indigo","2026-09-05T12:39:00+08:00",[16,94,95],"入职","带新人",{"id":20,"parentId":21,"slug":22,"name":23,"description":24,"icon":25,"cover":9,"tone":26,"kind":27,"sortOrder":28,"count":21}]