dev

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Development Fundamentals

开发基础知识

Overview

概述

This skill covers the foundational knowledge every software developer should command — drawn from canonical published works and industry-proven practices. It spans from low-level algorithms through code craftsmanship to system-level architecture.
本技能涵盖每位软件开发人员都应掌握的基础知识——源自经典出版著作和行业验证的实践经验。内容从底层算法延伸到代码工艺,再到系统级架构。

Knowledge Map

知识图谱

┌─────────────────────────────────────────────────────────┐
│  Architecture                                           │
│  Microservices, Monoliths, DDD, Event-Driven,          │
│  Hexagonal, Well-Architected Frameworks                 │
├─────────────────────────────────────────────────────────┤
│  Frontend                    │  Backend                 │
│  SPA, PWA, Micro-frontends, │  Data Modeling, API      │
│  SSR, Islands Architecture  │  Design, Caching, Auth   │
├─────────────────────────────────────────────────────────┤
│  Integration Patterns        │  Design Patterns         │
│  EIP: Messaging, Routing,   │  GoF: Creational,        │
│  Transformation, Endpoints  │  Structural, Behavioral  │
├─────────────────────────────────────────────────────────┤
│  Algorithms & Data Structures                           │
│  Sorting, Searching, Graphs, DP, Combinatorial          │
├─────────────────────────────────────────────────────────┤
│  Craftsmanship                                          │
│  Clean Code, Clean Architecture, SOLID, 12-Factor,     │
│  Refactoring, Boy Scout Rule                            │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│  Architecture                                           │
│  Microservices, Monoliths, DDD, Event-Driven,          │
│  Hexagonal, Well-Architected Frameworks                 │
├─────────────────────────────────────────────────────────┤
│  Frontend                    │  Backend                 │
│  SPA, PWA, Micro-frontends, │  Data Modeling, API      │
│  SSR, Islands Architecture  │  Design, Caching, Auth   │
├─────────────────────────────────────────────────────────┤
│  Integration Patterns        │  Design Patterns         │
│  EIP: Messaging, Routing,   │  GoF: Creational,        │
│  Transformation, Endpoints  │  Structural, Behavioral  │
├─────────────────────────────────────────────────────────┤
│  Algorithms & Data Structures                           │
│  Sorting, Searching, Graphs, DP, Combinatorial          │
├─────────────────────────────────────────────────────────┤
│  Craftsmanship                                          │
│  Clean Code, Clean Architecture, SOLID, 12-Factor,     │
│  Refactoring, Boy Scout Rule                            │
└─────────────────────────────────────────────────────────┘

Canonical Works

经典著作

BookAuthorCovers
Design PatternsGamma, Helm, Johnson, Vlissides (GoF)23 object-oriented patterns
Enterprise Integration PatternsHohpe & WoolfMessaging, routing, transformation
The Art of Computer ProgrammingDonald KnuthAlgorithms, data structures, combinatorics
Clean CodeRobert C. MartinNaming, functions, formatting, comments
Clean ArchitectureRobert C. MartinDependency rule, boundaries, layers
RefactoringMartin FowlerCode smells, refactoring catalog
Domain-Driven DesignEric EvansBounded contexts, aggregates, ubiquitous language
Building MicroservicesSam NewmanService decomposition, communication, deployment
The Pragmatic ProgrammerHunt & ThomasCareer, approach, tools, pragmatic philosophy
The Twelve-Factor AppAdam Wiggins (Heroku)Cloud-native application methodology
Release It!Michael NygardStability patterns, capacity, deployment
Fundamentals of Software ArchitectureRichards & FordArchitecture styles, characteristics, decisions
书籍作者涵盖内容
Design PatternsGamma, Helm, Johnson, Vlissides (GoF)23种面向对象模式
Enterprise Integration PatternsHohpe & Woolf消息传递、路由、转换
The Art of Computer ProgrammingDonald Knuth算法、数据结构、组合数学
Clean CodeRobert C. Martin命名规范、函数设计、代码格式、注释
Clean ArchitectureRobert C. Martin依赖规则、边界划分、层级架构
RefactoringMartin Fowler代码坏味道、重构目录
Domain-Driven DesignEric Evans限界上下文、聚合根、通用语言
Building MicroservicesSam Newman服务拆分、通信机制、部署策略
The Pragmatic ProgrammerHunt & Thomas职业发展、工作方法、工具使用、务实理念
The Twelve-Factor AppAdam Wiggins (Heroku)云原生应用方法论
Release It!Michael Nygard稳定性模式、容量规划、部署策略
Fundamentals of Software ArchitectureRichards & Ford架构风格、架构特性、决策方法

Choosing the Right Pattern Category

选择合适的模式类别

ProblemLook In
Object creation complexityDesign Patterns → Creational
Composing objects / adapting interfacesDesign Patterns → Structural
Object communication / state managementDesign Patterns → Behavioral
Service-to-service messagingIntegration Patterns
Algorithm selection / optimizationAlgorithms
Code readability and maintainabilityCraftsmanship
System decomposition and boundariesArchitecture
Client-side application structureFrontend
Server-side data and API structureBackend
问题场景参考类别
对象创建复杂度高设计模式 → 创建型
对象组合/接口适配设计模式 → 结构型
对象通信/状态管理设计模式 → 行为型
服务间消息传递集成模式
算法选型/优化算法
代码可读性与可维护性代码工艺
系统拆分与边界划分架构
客户端应用结构前端
服务端数据与API结构后端

Best Practices

最佳实践

  • Learn patterns as a vocabulary, not a checklist — apply them when the problem calls for it, not preemptively.
  • Start with the simplest architecture that works (monolith), evolve toward complexity (microservices) only when you have evidence you need it.
  • Apply the Boy Scout Rule: leave code better than you found it, every time you touch it.
  • Use SOLID principles as guardrails for daily decisions, not just for greenfield design.
  • Prefer composition over inheritance — most GoF patterns are variations of this principle.
  • Study algorithms for problem-solving intuition, not memorization — know when to reach for a graph algorithm vs. dynamic programming.
  • Keep integration patterns in mind whenever systems need to communicate — messaging solves problems that synchronous calls create.
  • 将模式视为一种通用词汇,而非检查清单——仅在问题需要时应用,而非预先套用。
  • 从最简单的可行架构(单体应用)开始,仅当有明确证据表明需要时,再逐步演进为复杂架构(微服务)。
  • 遵循童子军规则:每次修改代码时,都要让代码比你接手时更优质。
  • 将SOLID原则作为日常决策的准则,而非仅用于全新项目的设计。
  • 优先使用组合而非继承——大部分GoF模式都是这一原则的变体。
  • 学习算法是为了培养问题解决直觉,而非死记硬背——要知道何时选择图算法,何时选择动态规划。
  • 当系统需要通信时,牢记集成模式——消息传递可以解决同步调用带来的问题。