代码整洁之道训练营 · 面授班开班计划(2019)

代码整洁之道训练营 · 课程介绍

课程时长

2天

 

课程思路

一个人不可能在地面上学会游泳!本课程采用完全现场实战的方式,帮助团队快速体验和学会高级面向对象技术,编写出高质量、易维护的代码。

  1. 学员分为若干小组(最好是实际工作组),每个小组都有2~3个核心参训人员人
  2. 核心参训人员提供总计3000回车行实际工作代码
  3. 对其中1000行代码,讲师会在课上现场讲解并改写(改写量一般在300~500行左右)
  4. 改写完成后达到极高的标准,包括:
    1. 零常数,零for(int i),零else/case(代码中没有任何else和case关键字)、每个函数均小于30回车行
    2. 编码有效率在13~15LOC/FP左右(世界纪录级别)
  5. 另外2000行作为课堂练习
  6. 注意:本课程不涉及性能优化、安全性、多线程等特殊技术。

课程受众

技术经理,开发骨干,资质高的新员工

 

大纲脉络

以下内容按时间顺序描述了训练营的整体脉络。除整体脉络外,各个阶段还会穿插相应知识的讲授。

以下描述仅针对其中一个团队,其他团队也各自选定自己的产品代码,并按顺序执行实践。

  1. 开篇:编码终极奥义
    1. 终极奥义第三层:编码即人类语言
    2. 终极奥义第二层:编码即信息
    3. 终极奥义第一层:编码是美的
  2. 初级篇
    1. 此阶段注重语句级别的编程技能,基本上不需要面向对象基础
    2. 讲师现场对某个团队的代表性产品进行代码审查重点包括:
      1. 变量命名
      2. 函数命名
      3. 全局变量处理
      4. 消除常数
      5. 冗余语句的处理
      6. FFT结构(false-false-true)
      7. foreach循环
      8. var/auto关键字
    3. 所有团队现场对剩余代码进行重构,讲师点评
  3. 中级篇
    1. 此阶段注重函数级别的编程技能,需要函数封装、模板(泛型)等知识
    2. 讲师现场对某个团队的代码进行走读,指出以下问题:
      1. 代码克隆
      2. 如何消除结构相同、类型不同的if-else或case
        1. 模板
        2. Map
        3. 三元表达式
      3. 所有团队现场对剩余代码进行重构,讲师点评
  4. 高级篇
    1. 此阶段注重封装、继承、多态等传统面向对象的知识
    2. 讲师现场对某个团队的代码进行走读,指出以下问题:
      1. 代码克隆
      2. 圈复杂度与圈复杂密度
      3. 如何消除结构大为不同的大段if-else或case
        1. 基类,虚函数
        2. 多态与虚函数
        3. 接口与多继承
        4. 基类vs接口:扩展与实现
      4. 所有团队现场对剩余代码进行重构,讲师点评
  5. 质量篇
    1. 此阶段注重防范开发中、维护中可能产生的编码质量问题
      1. 注:实际上此章节所述内容,均会在上述课程中遇到问题时随时提到,此处仅做总结
    2. 讲师现场对某个团队的代码进行走读,指出以下问题:
      1. 易读性问题
        1. 看似技术含量很高的“半截子科技”代码
      2. 可维护性问题
        1. 成对出现的编码
        2. 常数封装位置
        3. 多分支结构的处理
          1. If-else与case的8种消除方法比较
        4. 常见缺陷预防
          1. 空指针
          2. 数组越界
        5. 所有团队现场对剩余代码进行重构,讲师点评
  6. 编码心法篇
    1. 此阶段注重实际开发动态过程中,人们由于编码次序的差异而造成的思维差异,进而导致的编码质量差异
    2. 讲师现场对某个团队的一部分代码进行重写,并展示以下编程心法:
      1. 从外向内分解问题出
        1. 先编写调用者,后编写底层函数(准TDD开发)
      2. 每5~10分钟进行一次编译和测试
        1. 随时将问题控制在最近2~5行代码内
      3. 内建的质量
        1. 随时避免各种不良编程问题,而不是编写后再进行重构
      4. 一次性写成“上帝代码”
        1. “上帝代码”是在语言框架内,多一行则多,少一行则少,无意中删除或添加任何一个字符将会出现编译错误的代码
      5. 首次编写即不包括“陈旧语法”
        1. 在第一次编写代码时,按照特有的心法和顺序,从来不需要if-else if/switch case等语法,也不会想到它们
  7. 高级话题
    1. 超越语言的语法边界
      1. C,C++,C#,Java,Python语法进化对比
        1. 通过5种语言实现同一个功能的对比,观察人类语言向编码终极奥义的逼近过程
      2. 编码消耗率
        1. 实现特定数量的功能所需的最低代码量

关于艾威

源于美国 始于1998 艾威(AVTECH)是北美著名的培训机构,总部位于美国新泽西州,2000 年进入中国,以培养国际化的中高端信息人才为己任,专注于国际前沿的新技术研发与教育,艾威主要的业务为培训与咨询两大类,目前培训的主要产品有:项目管理培训、IT 管理培训、IT 技术培训、云计算大数据培训、需求管理培训、产品管理培训,信息安全类,AI 人工智能等....近十类上几百门的课程的培训与咨询服务。
艾威(中国)秉承总部“诚信为本、品质为先”的理念,凭借美国艾威科学的课程体系和多年积累的丰富教学经验,结合中国本土企业文化、实际需求,为企业、个人提供定制化的培训解决方案。艾威进入中国这十八年来已经服务了超过 10000 多家客户,获得了良好的口碑!已被众多 500强企业纳入培训供应商,如 HP,NOKIA,CISCO,INTEL,GE,华为,宝马,德电,通用,大陆汽车,中国银行,交行,工行,罗氏,赛诺菲,埃森哲……等。
  • 艾威是 Prometric,VUE,PSI……等众多国际认证中心授权的考点
  • 艾威是国际项目管理协会 PMI 授权的全球(PMP,PGMP,ACP,PBA)教育机构
  • 艾威是国际需求管理协会 IIBA 授权的全球(CCBA,CBAP)教育机构
  • 艾威是 IT 服务管理官方 EXIN 授权的 ITIL,ITIL EXPERT,Prince2,EXIN Agile Scrum Master 教育机构,同时也是此系列课程的认证考试中心。
  • 艾威是国际信息审计协会 ISACA 授权的 CISA,CISM,CRISC,CGEIT,COBIT 教育机构,同时也是此系列课程的认证考试中心。
  • 艾威是The Open Group 授权的 TOGAF 企业架构的官方培训机构。
  • 艾威是 EPI 授权的数据中心 CDCP 培训机构,华东地区唯一 CDCP 授权培训机构,同时也是 CDCP 认证考试考场。
  • 艾威是国际外包专业协会(IAOP)独家授权外包治理国际认证 SGF(Sourcing Governance Foundation)
艾威面授班开班计划 2019年度艾威(中国)面授班公开课开班计划
2019年度艾威(中国)面授班公开课开班计划
招生范围:北京、上海、深圳、广州、杭州、苏州、成都、南京、武汉、西安、无锡、天津…
全国免费咨询热线400-888-5228

This site is protected by wp-copyrightpro.com