万本电子书0元读

万本电子书0元读

顶部广告

代码精进之路:从码农到工匠电子书

写代码不仅是技术,更是一门技艺! 1.全面讲解编程技艺与方法,帮助读者培养良好的编程习惯。 2.着重培养技术人员的思想与素养,分享多年技术管理心得。 3.深度揭秘阿里巴巴团队在复杂度治理方面的探索与实践。 4.重介绍源框架COLA架构及其企业级应用“工匠平台”。

售       价:¥

纸质售价:¥51.30购买纸书

685人正在读 | 2人评论 7.3

作       者:张建飞

出  版  社:人民邮电出版社有限公司

出版时间:2020-01-01

字       数:14.3万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(1条)
  • 读书简介
  • 目录
  • 累计评论(1条)
这是一本为专业程序员而写的书,写好代码、追求卓越和工匠精神是每个程序员都应该具备的优秀品质。 本书共有13章内容,主要分为技艺部分、思想部分和实践部分。技艺部分详细介绍了编程技巧和方法论,并配以详尽的代码案例,有助于读者提高编写代码的能力,优化代码质量。思想部分主要包括抽象能力、分治思想,以及程序员应该具备的素养等内容。实践部分主要介绍了常见的应用架构模式,以及COLA架构的设计原理。<br/>【推荐语】<br/>写代码不仅是技术,更是一门技艺! 1.全面讲解编程技艺与方法,帮助读者培养良好的编程习惯。 2.着重培养技术人员的思想与素养,分享多年技术管理心得。 3.深度揭秘阿里巴巴团队在复杂度治理方面的探索与实践。 4.重介绍源框架COLA架构及其企业级应用“工匠平台”。<br/>【作者】<br/>张建飞,阿里巴巴集团高级技术专家,Java全球管理组织(JCP)执行委员会正式会员(Full Member)。2007年计算机工程硕士毕业后,先后在软件公司InfoSys与互联网公司eBay担任高级研发和技术专家的职务。2014年加阿里巴巴,先后在1688、ICBU和零售通担任技术主管。 作者精通面向对象技术,有丰富的一线编码实战和架构经验。特别是在应用架构、领域建模和复杂度治理领域,自研了COLA框架。COLA自源以来,已经被多个技术团队使用,解决了DDD落地和应用扩展问题,受到了普遍关注和一致好评。 作者提倡“工匠精神”,对于如何造一个追求卓越、独具匠心的技术团队,如何量化考核工程师的技术贡献,都有着非常深的思考和实践,并探索出一套切实可行的方法论。基于该方法论造的“工匠平台”,在阿里巴巴内部被广泛使用,“工匠平台”丰富了对技术人员考察的维度,是除业务结果之外的从技术视角给技术人员“照镜子”的有效工具。<br/>
目录展开

版权

内容提要

序一

序二

前言

资源与支持

彩图

第一部分 技艺

第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 本章小结

累计评论(1条) 1个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部