美文网首页
程序员职业素养

程序员职业素养

作者: 李先生的咸柠七 | 来源:发表于2019-07-14 15:03 被阅读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.jianshu.com/p/2548f14324c3
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    相关文章

      网友评论

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

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