美文网首页面试资料
程序员职业素养

程序员职业素养

作者: 彡廿 | 来源:发表于2019-06-27 11:12 被阅读0次

    一、技能素质

    1.1 软技能

    • 数据结构和算法
    • 设计模式
    • 网络TCP/IP
    • 代码整洁之道
    • 重构改善既有代码
    • 代码大全
    • 敏捷软件开发:原则,模式与实践
    • 领域内驱动设计
    • Git
    • vim

    1.2 硬技能

    • iOS 领域专家

      • 基础开发
      • 多媒体开发
      • IM开发
      • SDK开发
      • MVC
      • MVVM
      • MVP
      • VIPER
      • RXSwift
      • 常用框架源码分析
      • 单元测试
      • 持续集成
      • 反编译
    • Android 领域专家

      • 基础开发
      • 多媒体开发
      • IM开发
      • SDK开发
      • MVC
      • MVP
      • MVVM
      • RxJava
      • Kotlin
      • 常用框架源码分析
      • 单元测试
      • 继续集成
      • 反编译
    • 脚本语言
      Python
      Groovy
      Shell

    二、工程素质

    2.1 专业主义

    • 需求:

      • 认真研读需求文档。
      • 对不合理的需求说”不“。
      • 和产品确定最后的需求。
    • 研发

      • 技术预研,确定采用的技术

      • 开发设计,

        • 遵循六大设计原则。
        • 采用23种设计模式。
        • 设计出架构清晰。
        • 模块低耦合。
      • 设计评审

        • 开发小组封闭讨论设计的不合理之处
      • 工作量化

        • 按功能划分
          / 好处:避免模块的数据层和UI层之间的回调依赖
          / 坏处:不严格遵循设计,导致模块之前紧耦合
        • 按模块划分
          / 好处:模块之间的低耦合
          / 坏处:数据层和UI层异步回调依赖
        • 根据每个人的工作量化导出工期评估
        • 对不合理的工期说”不“
      • 编码

        • 入乡随俗
        • 参考google,sun等大公司的编码规范
        • 初中高
          • 初级:面向功能
          • 中级:面向性能
          • 高级:面向未来
        • 代码提交之前一定要review自己的代码
        • 有精力要阅读别人的代码
        • 推荐工具GitKraken
    • 测试

      • 单元测试 XUnit
      • 组件测试 API
      • 集成测试 API
      • 系统测试 GUI
      • 人工探索式测试

    专业的程序员都会写单元测试,甚至测试驱动开发。
    对交付的程序,一定是经过一系列,反复测试的。

    • 对交付的程序,

      • 经过金字塔测试
      • 最后组内交叉测试
    • 灰度测试

      • 就是控制发布比例,让一部分用户进行升级测试
    • 持续集成CI
      gradle
      Jenkins
      git

    • Bug追踪

      • fabric订阅bug
      • 开发组的每个成员都要订阅fabricbug邮件
      • 及时修复线上bug
    • 版本迭代

    三、团队协作

    3.1 团队管理工具

    3.1.1 组内沟通

    • 在线沟通有记录
      • 微信
      • lark
    • 当面沟通
      尽量当面沟通,效率最高

    3.1.2 项目管理工具

    • Trello
      • 管理需求
      • 管理开发工作量化
      • 管理版本线
      • 管理bug

    3.2 时间管理

    3.2.1 事件的优先级

    • 紧急重要
    • 紧急不重要
    • 重要不紧急
    • 不重要不紧急

    按上面的优先级进行安排工作

    3.2.2 番茄工作法

    • 25分钟内免打扰
    • 最优状态是 每天12-14个番茄
    • 最差状态是 每天2-4个番茄

    相关文章

      网友评论

        本文标题:程序员职业素养

        本文链接:https://www.haomeiwen.com/subject/sjplcctx.html