成为一名好 RD | 青训营笔记

143 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第8天

01 本堂课重点内容:

本课程从代码质量、代码评审、重构、代码上线几个角度向我们讲述了一个优秀的研发同学,应当具备什么样的基本素养。

02 详细知识点介绍:

2.1 代码质量

  • 好的代码要做到以下几点:
    1. 完全满足产品需求
    2. 当进行功能变更时,只需要进行较小的改动
    3. 发生异常时可以优雅的报错,或者能自我恢复
    4. 在面对新的场景时,能够优雅的处理,即便没有提前预见
    5. 即便经历安全攻击,系统仍能够处于安全状态下
  • 代码要具有较好的可维护性,需要做到
    • 统一的编码规范:命名规范、代码格式、注释规范。
    • 稳定的工程结构:目录清晰、模块化、组件化、依赖可控、访问权限。
    • 优秀的方案实现:文档、用例、可测性、高内聚低耦合。
  • 圈复杂度(Cyclomatic Complexity),也称条件复杂度,是一种软件度量手段。

2.2代码评审

CR的目标是通过阅读源代码来检查代码是否符合编码规范,前置发现代码质量问题主要关注代码规范和功能设计等问题

  • 代码规范
    • 命名:是否定义的清晰准确的变量名、函数名、类名
    • 描述:CR的描述是否准确对应到功能
    • 风格:是否遵循统一的规范
    • 文档:是否同时改动了文档
  • 功能设计
    • 设计:是否良好的设计并适用于当前系统
    • 功能:实现是否正确
    • 简洁:实现是否简洁,如果过于复杂是否有更简单的方式
    • 测试:是否包含自动化测试
  • 总结
    1. CR能前置地发现代码质量问题
    2. 将CR做得小点能加快评审效率
    3. 谦逊坦诚面对不同的评审意见

2.3代码重构

重构是对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。

  • 技术债(Technical Debt),指本应采用最佳方案,但妥协了,从而给未来带来了负担。就像是债务,先欠下了,短期得到了好处,但长期必须偿还。代码中常有技术债,我们要学会理解它,处理它。

03 课后总结:

  1. 理解圈复杂度和代码质量的重要性
  2. 代码评审能够前置的发现代码问题
  3. 重构是限定范围和方法的改造技术
  4. 代码需要持续得到验证才能够上线

04 参考文献:

  1. 【Android 客户端专场 学习资料三】第四届字节跳动青训营 - 掘金 (juejin.cn)