您好,欢迎光临有路网!
大规模重构
QQ咨询:
有路璐璐:

大规模重构

  • 作者:(美)莫德 勒梅尔(Maude Lemaire)
  • 出版社:中国电力出版社
  • ISBN:9787519886264
  • 出版日期:2024年05月01日
  • 页数:260
  • 定价:¥78.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    本书的主要内容有:理解代码是如何退化的,以及为什么一些退化是不可避免的。在重构之前,量化和评定你的代码状态。起草一个具有战略里程碑且精心设计的执行计划。赢得领导层的支持。建立和协调一个*z适合项目的团队。在团队内外进行**沟通。正确使用重构的*z佳实践。
    目录
    目录 前言 1 **部分 概述 第1 章 重构 11 1.1 什么是重构? .12 1.2 什么是大规模重构? 14 1.3 你为什么要关心重构? .16 1.4 重构的好处 17 1.4.1 ***的生产力 17 1.4.2 识别bug 19 1.5 重构的风险 19 1.5.1 严重的退步 20 1.5.2 挖掘出休眠的bug 20 1.5.3 范围蔓延 .20 1.5.4 不必要的复杂度 21 1.6 何时重构21 1.6.1 小范围 22 1.6.2 代码的复杂度明显地阻碍了开发 22 1.6.3 产品需求的转变 22 1.6.4 性能 23 1.6.5 使用新技术 23 1.7 何时不要重构 .24 1.7.1 为了好玩或出于无聊的原因 .24 1.7.2 因为你恰好路过 25 1.7.3 使代码更具可扩展性.26 1.7.4 当你没时间时 27 1.8 我们的**个重构示例 .27 1.8.1 简化条件语句 29 1.8.2 提取魔法数字 31 1.8.3 提取自包含逻辑 32 第2 章 代码是如何退化的 .37 2.1 为什么理解代码退化很重要 38 2.2 需求的转变 39 2.2.1 可扩展性 .39 2.2.2 可访问性 .40 2.2.3 设备兼容性 40 2.2.4 环境改变 .41 2.2.5 外部依赖 .42 2.2.6 未使用的代码 42 2.2.7 产品需求变化 43 2.3 技术债 46 2.3.1 技术决策 .47 2.3.2 缺乏持续的整理 50 2.3.3 移动得太快 51 2.4 应用我们的知识 53 第二部分 规划 第3 章 测量我们的起点状态 .57 3.1 为什么测量重构的影响很难? 58 3.2 测量代码复杂性 59 3.2.1 哈尔斯特德(Halstead)度量 59 3.2.2 循环复杂度 62 3.2.3 NPath 复杂度 65 3.2.4 代码行数 .68 3.3 测试覆盖率指标 69 3.4 文档 .73 3.4.1 正式文档 .73 3.4.2 非正式文档 75 3.5 版本控制76 3.5.1 提交信息 .77 3.5.2 聚合提交 .77 3.6 声誉 .79 3.7 构建完整的画面 82 第4 章 起草计划 83 4.1 定义你的*终状态 84 4.1.1 旅途中 84 4.1.2 工作中 85 4.2 映射*短的距离 86 4.2.1 旅途中 86 4.2.2 工作中 87 4.3 确定战略中间里程碑 89 4.3.1 旅途中 89 4.3.2 工作中 90 4.4 选择推出策略 .94 4.4.1 明模式(Light)/ 暗模式(Dark) 95 4.4.2 Smart DNA 案例的推出 99 4.5 清理工件.100 4.6 在你的计划中引用指标 102 4.6.1 将目标指标延伸至中间里程碑 102 4.6.2 不同的里程碑指标 103 4.7 估算 104 4.8 与其他团队分享你的计划 .105 4.8.1 透明度 106 4.8.2 观点 .106 4.9 精细化计划 108 第5 章 获取支持 111 5.1 为什么你的经理没有上船 . 112 5.1.1 经理不编码 . 112 5.1.2 经理们的评估方式不同 . 113 5.1.3 管理者看到的风险 113 5.1.4 管理者需要协调 114 5.2 制定令人信服的策略 115 5.2.1 使用对话策略 . 117 5.2.2 构建对齐的“三明治” . 118 5.2.3 依赖证据 121 5.2.4 采取强硬手段 .122 5.3 认同塑造重构 124 第6 章 构建正确的团队 125 6.1 识别不同类型的专家 126 6.2 匹配制度.128 6.2.1 多行业专家 .129 6.2.2 重新审视活跃贡献者130 6.2.3 我们专家名单中的偏见 .130 6.3 重构团队的类型 .132 6.3.1 所有者 132 6.3.2 建议的方法 .134 6.3.3 清洁人员 134 6.4 招募动员.136 6.4.1 指标 .137 6.4.2 慷慨 .138 6.4.3 机会 .139 6.4.4 交换筹码 139 6.4.5 重复 .140 6.5 一些结果.141 6.5.1 现实的场景 .141 6.5.2 *坏的情况 .141 6.6 培养强大的团队 .142 第三部分 执行 第7 章 沟通 . 147 7.1 在你的团队内 148 7.1.1 站会 .150 7.1.2 每周同步 151 7.1.3 回顾会议 153 7.2 在你的团队外 154 7.2.1 开始项目时 .154 7.2.2 在项目执行期间 157 7.3 始终迭代.162 第8 章 执行策略 . 163 8.1 团队建设.163 8.1.1 结对编程 164 8.1.2 保持每个人的动力 166 8.2 保持记录.168 8.2.1 中期指标度量 .168 8.2.2 发现的漏洞 .169 8.2.3 清理项 170 8.2.4 记录超出范围的内容170 8.3 **编程.171 8.3.1 原型 .171 8.3.2 保持事物小巧 .172 8.3.3 测试,测试,测试 173 8.3.4 提出“愚蠢”的问题173 8.4 结论 174 第9 章 让重构保持有效 175 9.1 推动支持.176 9.2 传授 177 9.2.1 主动传授 177 9.2.2 被动传授 180 9.3 强化 181 9.3.1 渐进式代码检查 181 9.3.2 代码分析工具 .182 9.3.3 门槛与护栏 .182 9.4 将改进融入企业文化 184 第四部分 用例 第10 章 案例研究:冗余数据库模式(Schemas) 189 10.1 Slack 101 .190 10.2 Slack 架构101 192 10.3 可扩展性问题 195 10.3.1 启动Slack 客户端 .196 10.3.2 文件可见性196 10.3.3 提及 197 10.4 合并表格 198 10.4.1 收集分散的查询 .199 10.4.2 制定迁移策略 202 10.4.3 量化我们的进展 .205 10.4.4 试图保持团队的动力 206 10.4.5 沟通我们的进展 .207 10.5 整理 209 10.6 经验教训 211 10.7 了解代码的历史 212 10.7.1 确保充分的测试覆盖率 213 10.7.2 保持团队的动力 .213 10.7.3 专注于战略里程碑 214 10.7.4 识别并依赖有意义的指标 .214 10.8 收获 215 第11 章 案例研究:迁移到新数据库 217 11.1 工作区分片数据 218 11.2 将channels_members 迁移到Vitess 219 11.2.1 分片方案 220 11.2.2 开发新模式 221 11.3 解决JOIN 操作中的纠缠问题 224 11.4 一个困难的推出 228 11.4.1 回填模式 229 11.4.2 暗模式 .230 11.4.3 明模式 .235 11.4.4 日落模式 237 11.5 整理 237 11.6 经验教训 239 11.6.1 设定现实的估算 .240 11.6.2 寻找你需要的团队成员 240 11.6.3 仔细规划范围 241 11.6.4 选择一个项目沟通的单一地点 241 11.6.5 设计一个周到的推出计划 .242 11.7 收获 243

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外