Skip to content
📝 字数:working on

Programmer Mental Models

Estimated time to read: 1 minute

这个章节的根本目的是研究何谓“高级程序员”,这个高级到底是什么?怎么获得这个高级?

一个高级程序员如何定义:

  • mechanism: 不同层级、不同种类的model

  • domain model: 特定行业的业务逻辑

  • causal reasoning: 在复杂系统中快速缩小未知空间,本质上是model refactoring

  • ownership: 对更大生命周期负责

对问题进行不同层级model的定位,程序是非常复杂的。有三层model是首先要掌握的:

  • computation

最底层的对于“计算”的语义抽象

  • implementation

相关语言、frame、软件系统在实现时候构建的model

  • domain.

业务逻辑

Right Mental

  • Don't worry about trying to understand all of the code.

  • As a developer, you may need to work closely with designers. If you understand basic design terminology, you'll have a shared vocabulary and you'll be able to participate in the design process more actively. This can make your workflow more efficient and result in a better user experience.

高级程序员心智图

  • Soloway, E., & Ehrlich, K. (1984). Empirical studies of programming knowledge.

Progrmming plans and discourse rules.

  • Shneiderman, B. (1980s). Cognitive models in programming.

  • Aho, Lam, Sethi, & Ullman, Compilers: Principles, Techniques, and Tools

Discourse Rules

  1. Memory layout;

Principles

W3C

CSS Mental Model

评论