---
title: "代码开发"
date: 2018-12-29
lastmod: 2020-01-05
weight: 3
type: 
icon: #
description: "DevOps 路线图,代码开发"
# search related keywords
---


## 最少掌握一门开发语言

- 代码编码
- 代码规范
- 代码评审
  - Gerrit
  - Phabricator
  - ReviewBoard
- 特性开关
- 代码架构
  - 微服务
  - 前后端分离
  - 无服务
  - 低代码开发
- 代码重构
- 代码编译原理

#### 学习资源

+ 《代码整洁之道》
+ [谷歌工程实践文档](https://github.com/google/eng-practices)
+ [Feature Toggles (aka Feature Flags)](https://martinfowler.com/articles/feature-toggles.html)
+ 《微服务架构设计模式》
+ 《领域驱动设计 软件核心复杂性应对之道 修订版》
+ 《重构 改善既有代码的设计 第二版》
+ 《自制编译器》
+ 《antlr4权威指南》


## 代码配置管理（Git）

- Git应用
  - Git命令
  - Git分支应用
  - Git工作流
- Git访问方式
  - HTTP
  - HTTPS
  - SSH
  - File
- Git工作区 
  - 工作区
  - 暂存区
  - 版本库
  - 远程仓库作用
- Git算法
  - 最近公共祖先算法LCA
  - merge算法
  - rebase算法
- 开发类库
  - Jgit
  - libgit2

#### 学习资源

+ [《Git版本控制管理（第2版）》](https://git-scm.com/book/zh/v2/)
+ <https://www.eclipse.org/jgit>
+ <https://libgit2.org/>



## 代码化

- Pipeline as Code
- Infrastructure as Code

#### 学习资源

+ <https://about.gitlab.com/topics/ci-cd/pipeline-as-code/>
+ <https://martinfowler.com/bliki/InfrastructureAsCode.html>


## 编码实践

- 测试驱动开发TDD（Test-Driven Development）
- 结对编程

#### 学习资源

+ <https://www.agilealliance.org/glossary/xp/>


## Cloud IDE

- 成熟工具
  - VS Code
  - Cloud9
  - Eclipse Che
  - Theia
- 语言服务器协定LSP（Language Server Protocol） 
- LSIF(Language Server Index Format)
- 调试适配器协议DAP（Debug Adapter Protocol）

#### 学习资源

+ <https://microsoft.github.io/language-server-protocol/>
+ <https://microsoft.github.io/debug-adapter-protocol/>