Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

简介

Image Modified

我们都有一个共同的梦想——成为更棒的程序员,但是如何做?如何学习和精进自己的技术?如何做业务分析和架构设计?如何做技术管理?本书就广大程序员都很关注的问题提供一些思路和方法。

《程序员的三门课:技术精进、架构修炼、管理探秘》内容分为三大篇:第1篇介绍程序员的技能成长路径,介绍如何通过学习来加速成长,并讲解非常重要的业务分析和设计知识;第2篇详细介绍了架构修炼中的必备架构思维模式、架构设计过程,还通过真实案例剖析了架构设计的核心要素及关注点,以及如何通过架构设计来把控质量和风险;第3篇总结了做技术管理的诀窍,揭秘如何从准备做技术管理到实现自我管理再到实现团队管理。

《程序员的三门课:技术精进、架构修炼、管理探秘》适用于即将或者正在从事IT相关开发工作,却不知如何提升自己,希望通过适当的学习方法精进技术的初级程序员;也适用于具备一定架构设计经验,想进一步系统化提升架构设计能力的中级程序员;以及有一定技术积累,想从事技术管理却不知如何着手的高级程序员。

  • 作者:于君泽、李伟山、张洪亮、彭首長、刘朋

  • 出版社:电子工业出版社

  • 出版日期:2019-10

读书笔记

Ch1. 程序员的技能与成长

学习一门语言:

  • Primitive Elements(基本表达形式)
  • Means of Combination(组合方法)
  • Means of Absstraction(抽象方法)

通俗的讲:基础知识->应用知识→底层知识

写代码:

编码规范、单元测试、测试驱动设计(金丝雀测试)

静态代码分析工具

代码审查(Code Review):代码片段长度、review时长、工具(Phabricator、Berrit)

流程:

清单与模板(CheckList、Template)

效率:

工具化:善于利用工具、定制自己的工具(懒惰、不耐放、傲慢)

自动化:降低重复劳动

文档化:把文档整理为思维树,标注定义、关键描述、关键词、关联词、详细文档链接

YAGNI:You Ain't Gonna Need it,别过度设计

工具:

IDE、Git/SVN、CI/CD、Markdown

画图工具:XMind、UML(统一建模语言)

在线工具:

  • searchcode.com
  • json.cn
  • diffchecker.com