程序员进阶攻略(1) - 程序之术

架构与实现

  1. 架构是关注系统结构与行为的决策流,实现是围绕架构的程序开发过程
  2. 架构注重把控系统的边界,实现是在边界范围内建立“领地”
  3. 所有架构的可实现性都是等效的,但实现的成本、效率绝不会相同

模式与框架

  1. 模式是通用代码的抽象,设计的复用
  2. 框架是开发的脚手架,代码的复用

系统视图

  • 组成视图

系统架构图

  • 交互视图
  • 部署视图
  • 流程视图

泳道或者时序图

  • 状态视图

状态机

代码分类

  1. 功能代码

就是业务代码

  1. 控制代码

基础代码,如微服务架构的那些基础架构代码

  1. 运维代码

如日志代码,诊断代码

粗放与精益:编程的两种思路与方式

  • 编程,其实一开始哪有什么完美,只有不断变得更好。
  • 好不是完美,好是一个过程,一个不断精益化的过程。

Bug分析

Bug出现的原因

  1. 粗心大意
  2. 认知偏差

技术上认为正确的事情,可能其实不是那样的。自己认知的不够清晰

  1. 熵增问题

系统复杂度。所以会有后来的微服务解耦复杂度

解决的方法

  1. 粗心大意-> 引入开发规范,代码风格,流程约束,代码评审和工具检查
  2. 认真偏差-> 自我积累和学习
  3. 熵增问题-> 引入一些降低复杂度的架构,如微服务。
  4. 营造环境-> 创建一种内部环境,如扁平化管理

Reference

极客时间 - 程序员进阶

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×