写代码不仅是技术,更是一门技艺! 1.全面讲解编程技艺与方法,帮助读者培养良好的编程习惯。 2.着重培养技术人员的思想与素养,分享多年技术管理心得。 3.深度揭秘阿里巴巴团队在复杂度治理方面的探索与实践。 4.重介绍源框架COLA架构及其企业级应用“工匠平台”。
售 价:¥
纸质售价:¥51.30购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
版权
内容提要
序一
序二
前言
资源与支持
彩图
第一部分 技艺
第1章 命名
1.1 命名的力量
1.2 命名其实很难
1.3 有意义的命名
1.3.1 变量名
1.3.2 函数名
1.3.3 类名
1.3.4 包名
1.3.5 模块名
1.4 保持一致性
1.4.1 每个概念一个词
1.4.2 使用对仗词
1.4.3 后置限定词
1.4.4 统一业务语言
1.4.5 统一技术语言
1.5 自明的代码
1.5.1 中间变量
1.5.2 设计模式语言
1.5.3 小心注释
1.6 命名工具
1.7 本章小结
第2章 规范
2.1 认知成本
2.2 混乱的代价
2.3 代码规范
2.3.1 代码格式
2.3.2 空行规范
2.3.3 命名规范
2.3.4 日志规范
2.3.5 异常规范
2.4 埋点规范
2.5 架构规范
2.6 防止破窗
2.7 本章小结
第3章 函数
3.1 什么是函数
3.2 软件中的函数
3.3 封装判断
3.4 函数参数
3.5 短小的函数
3.6 职责单一
3.7 精简辅助代码
3.7.1 优化判空
3.7.2 优化缓存判断
3.7.3 优雅降级
3.8 组合函数模式
3.9 SLAP
3.10 函数式编程
3.11 本章小结
第4章 设计原则
4.1 SOLID概览
4.2 SRP
4.3 OCP
4.4 LSP
4.4.1 警惕instanceof
4.4.2 子类覆盖父类函数
4.5 ISP
4.6 DIP
4.7 DRY
4.8 YAGNI
4.9 Rule of Three
4.10 KISS原则
4.11 POLA原则
4.12 本章小结
第5章 设计模式
5.1 模式
5.2 GoF
5.3 拦截器模式
5.4 插件模式
5.5 管道模式
5.5.1 链式管道
5.5.2 流处理
5.6 本章小结
第6章 模型
6.1 什么是模型
6.1.1 物理模型
6.1.2 数学模型
6.1.3 概念模型
6.1.4 思维模型
6.1.5 模型不能代替现实
6.2 UML
6.3 类图
6.3.1 类的UML表示法
6.3.2 类的关联关系
6.3.3 类的依赖关系
6.3.4 类的泛化关系
6.3.5 接口与实现关系
6.4 领域模型
6.5 敏捷建模
6.6 广义模型
6.6.1 C4模型
6.6.2 UI流程图
6.6.3 业务模型
6.7 本章小结
第7章 DDD的精髓
7.1 什么是DDD
7.2 初步体验DDD
7.3 数据驱动和领域驱动
7.3.1 数据驱动
7.3.2 领域驱动
7.3.3 ORM
7.4 DDD的优势
7.4.1 统一语言
7.4.2 面向对象
7.4.3 业务语义显性化
7.4.4 分离业务逻辑和技术细节
7.5 DDD的核心概念
7.5.1 领域实体
7.5.2 聚合根
7.5.3 领域服务
7.5.4 领域事件
7.5.5 边界上下文
7.6 领域建模方法
7.6.1 用例分析法
7.6.2 四色建模法
7.7 模型演化
7.8 为什么DDD饱受争议
7.8.1 照搬概念
7.8.2 抽象的灵活性
7.8.3 领域层的边界
7.9 本章小结
第二部分 思想
第8章 抽象
8.1 伟大的抽象
8.2 到底什么是抽象
8.3 抽象是OO的基础
8.4 抽象的层次性
8.5 如何进行抽象
8.5.1 寻找共性
8.5.2 提升抽象层次
8.5.3 构筑金字塔
8.6 如何提升抽象思维
8.6.1 多阅读
8.6.2 多总结
8.6.3 领域建模训练
8.7 本章小结
第9章 分治
9.1 分治算法
9.1.1 归并排序
9.1.2 二分搜索
9.1.3 K选择问题
9.2 函数分解
9.3 写代码的两次创造
9.3.1 第一遍实现功能
9.3.2 第二遍重构优化
9.4 分治模式
9.5 分层设计
9.5.1 分层网络模型
9.5.2 分层架构
9.6 横切和竖切
9.7 本章小结
第10章 技术人的素养
10.1 不教条
10.1.1 瀑布还是敏捷
10.1.2 贫血还是充血
10.1.3 单体还是分布式
10.2 批判性思维
10.3 成长型思维
10.4 结构化思维
10.4.1 如何落地新团队
10.4.2 如何做晋升述职
10.5 工具化思维
10.6 好奇心
10.7 记笔记
10.8 有目标
10.9 选择的自由
10.10 平和的心态
10.11 精进
10.12 本章小结
第11章 技术Leader的修养
11.1 技术氛围
11.1.1 代码好坏味道
11.1.2 技术分享
11.1.3 CR周报
11.1.4 读书会
11.2 目标管理
11.2.1 什么是OKR
11.2.2 SMART原则
11.2.3 OKR设定
11.3 技术规划
11.3.1 当前问题
11.3.2 技术领域
11.3.3 业务领域
11.3.4 团队特色
11.4 推理阶梯
11.5 Leader和Manager的区别
11.6 视人为人
11.7 本章小结
第三部分 实践
第12章 COLA架构
12.1 软件架构
12.2 典型的应用架构
12.2.1 分层架构
12.2.2 CQRS
12.2.3 六边形架构
12.2.4 洋葱架构
12.2.5 DDD
12.3 COLA架构设计
12.3.1 分层设计
12.3.2 扩展设计
12.3.3 规范设计
12.3.4 COLA Archetype
12.4 COLA测试
12.4.1 单元测试
12.4.2 集成测试
12.4.3 ColaMock
12.5 COLA架构总览
12.6 本章小结
第13章 工匠平台
13.1 项目背景
13.2 整理需求
13.3 工匠Demo
13.4 使用COLA
13.4.1 安装COLA
13.4.2 搭建应用
13.5 领域模型
13.5.1 领域建模
13.5.2 领域词汇表
13.6 核心业务逻辑
13.7 实现技术细节
13.7.1 数据存储
13.7.2 控制器
13.8 测试
13.8.1 单元测试
13.8.2 集成测试
13.8.3 回归测试
13.9 本章小结
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜