成为一个好RD,你应该具备的研发素质|青训营笔记

156 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第8天 主要为思维导图大纲,收集课堂要点和一些补充知识 欢迎补充&指正

成为一个好RD,你应该具备的研发素质

1.代码质量

1.优秀代码应当:明确的语义,无联想、泛指,便于调试

2.满足边界条件、功能变更只进行较小变动,会报错、自我纠正,应对新场景、安全攻击

3.代码维护

  • 1.统一代码规范:命名、格式、注释

  • 2.稳定的工程结构:目录清晰、模块化、组件化、依赖可控、访问权限控制

    • 复用代码、添加新的依赖
  • 3.优秀方案实现:文档、用例、可测性、高内聚低耦合

    • 架构设计思想:Binder IPC通信、IoC/SPI解耦
    • 自动化测试手段,保障重构正确性
    • 考虑场景用例

4.圈复杂度:条件复杂度=num(edges)-num(nodes)+2(1-10比较清晰)

  • 顺序执行:圈复杂度:1
  • if-else:圈复杂度:2
  • while:圈复杂度:2
  • (简单判断方法:)圈复杂度:判定条件+1

2.代码评审(code review)

(部署、测试)提交前发现问题

  • 1.代码规范

    • 命名
    • 描述
    • 风格
    • 文档
  • 2.功能设计

    • 设计
    • 功能
    • 简洁
    • 测试

小CR-better(控制)

  • 正视批评
  • 修复代码
  • 自我反思

3.重构实践

技术债:未采用最佳方案造成未来负担

  • 公开技术债
  • 消费技术债

重构:调整内部结构(不跨进程),不改变软件可观察行为

  • 封装成员变量 (函数参数太多)
  • 方法提取(函数太长)
  • 一般化类型(处理重复代码)
  • 父子类之间的函数转移
  • 方法更名
  • 隐藏中间人调用:针对长调用链(避免加判空太多)

4.代码上线

分支开发模式

持续集成概念CI

  • 将代码频繁的集成到代码仓库,便于维护管理

灰度发布

  • 逐步扩大使用的用户群体

AB实验

  • 排除干扰因素,环境相同的条件下做实验,选取更优的结果