• 程序员的一天


    1.程序员日常活动全景图

    • 站会
    • 需求串讲
    • 需求分析
    • 软件设计
    • 编码
    • 代码提交
    • 持续CI/CD
    • 代码检视

    2. 站会

    • 站会视一天的开始,高效,catch up,知道别人干什么,别人遇到什么问题
    • 每个人轮流当owner
    • 每个人发言不超过1分钟
    • 发言包括昨天干了什么,今天要干什么,有什么风险
    • 讨论不要陷入细节,owner要阻止

    3. 需求串讲:化繁为简,化间为易


    Se/am 对需求方案设计,将sr (system requirement)拆为us (user story)
    包括需求描述,工作量,优先级,TestCase等

    • 注意:3.1.工作量要合理,不建议过大,2-3天一个粒度
    •    3.2.一个Us对应一个开发
    •    3.3.和需求无关的重构有专门的重构管道
    •    3.4.工作量需要包含DT

    4. 需求分析:预则立,不预则废

    • 拆分需求
    • 细化模块功能
    • 列出task(思路导图)
    • 输出详细文档

     5.软件设计:运用计算思维解决问题是程序员的重要修养

    • 计算思维的过程要素:分解问题,模式识别,抽象化,算法
    • 软件设计的通用过程:分析,抽象,建模,编码实现

    6.编码:程序员的核心职责和技能

    • 基础知识扎实*
    • 倒背如流的编码规范
    • 熟悉的安全规范
    • 阅读好的源码
    • 多总结,多分享
    • 多本地调试
    • 完成一个task就提交一次代码

    7.代码提交:每日小步提交,committer高效审核(200-300行为最佳)

    • 本地安全代码扫描
    • 所有用例需要通过
    • 需要完成本地静态扫描和测试
    • 创建的MR需要两个人员review,不能自己review自己 

    8.Committer三大核心职责

    • 贡献产品核心代码
    • 把关上库代码质量
    • 使能赋能团队

    9.持续集成 (CI/CD):决定代码是否可以检视的关键活动

    • CI pass 代表代码构建成功,通过所有代码检查工具,跑过了所有的测试且没有其他功能
    • 意味你的代码可以提交检视了
    • 要提前用本地工具检查
    • 单个CI不能跑超过10分钟

    10.代码检视:凝聚集体智慧,成就个人成长

    • 检视动作:show case;讲设计;走读代码;
    • 代码检视会拉齐大家的业务背景,编码习惯,工具使用,在发现他人代码问题的同时识别团队中的代码牛人
    • 检视时间为每天固定时间,同时检视前确保代码已经合入;
    • 无测试代码可以直接驳回
    • 检视中发现的问题如果当天完成不了,使用问题单或者需求重构跟踪
    • 全员想办法提高检视效率

    11.软件维护和重构

    • 软件维护:保证软件在长期正常运作的软件活动
    • 改正性维护,适应性维护,扩充与完善性维护,预防性维护
    • 申请维护,指定维护计划,进行维护活动,建立维护文档,复审和评价维护
    • 软件重构:重构腐化的架构以及不符合软件工程规范和质量要求的历史代码
    • 重构定义:在不改变代码外在行为的前提下,对代码进行修改,以改善程序内部结构
    • 重构功能:改善软件设计,使软件更容易理解,帮助找到bug,提高编程速度
    • 重构手法:抽取方法,内联方法,抽取类,重命名,移动方法=》rename/test extract/test replace/test move/test rename/test inline/test
    • 重构书推荐:朱康毅 软件重构 肖华山 clean code

    12.软件技术大会:ICT软件技术大会,软件编码大赛:云极客等

    13 术语介绍:

      PL/project leader 项目主管 

      committer 代码提交者

      SE,系统工程师 system engineer

      SDE 软件开发工程师 system development enginneer

      MDE 模块设计工程师 Module Design Engineer

      TSE 测试系统工程师 Test System Engineer

      MR 合并请求 Merge Request

      CI continuous Integration 持续集成

      IPD integrated Product Development 集成产品开发流程

  • 相关阅读:
    python数据类型-字典的练习
    python数据类型-元祖和字典类型、hash函数
    python数据类型-字符串
    python数据类型-列表练习
    python数据类型-列表
    iOS 熟悉CASharpLayer
    iOS 点击tableView的cell,让其滚到屏幕顶部
    iOS pop动画之弹性动画的基本使用
    iOS Json解析框架之MJExtension使用详解
    iOS pop动画之衰减动画的基本使用
  • 原文地址:https://www.cnblogs.com/gongxianjin/p/16213669.html
Copyright © 2020-2023  润新知