# 项目与元素—-编程实践的知识组织和学习思路篇1
## 题前
狭义的编程,coding。
广义的编程,make money。
经济活动 – 一定的社会组织和秩序下,以劳动或支付过程取得生活资料的一切活动。以满足人的需求为目的,主要以劳动换取商品和服务。
(商品-服务) 第一产业 第二产业 第三产业
(生产-流通) 环节-生产的是商品或者服务
管理是商业管理,项目是管理需要,代码项目是代码管理需要。
## 正题
使用分解之基于层次分解的方式思考项目
1. 关于软件
2. 关于需求
3. 关于解决方案
### 软件
code – service   代码即世界。
code -> file -> project -> service  代码如何构建世界。
code: python (语言)  c-java
file: vim(文本编辑器) nano-notepad++– (import diff coding=utf8)
project: pycharm(集成开发环境)vs git(版本管理) docs(设计)  
service: linux(计算) mysql(存储) nginx(网络) docker(环境) k8s(编排)
### 关于需求
service级别需求
project级别需求
file级别需求
code级别需求
### 关于设计与实现的解决方案
面向每一行code 的解决方案
面向每一个file 的解决方案
面向每一个project 的解决方案
面向每一个service 的解决方案
面向business team的解决方案
面向produce team的解决方案
面向tech team的解决方案
面向developer的解决方案
## 项目的十二元素
如何构建一个项目,如何认知一个项目。
今天只讲其中的点,实际的构建过程,以后再讲。
### 细分
1. 日志
2. 启动项
3. 文档
4. 目录组织
5. 架构设计
6. 通信处理
7. 错误处理
8. 测试
9. 部署
10. 监控
11. 编程约定
12. 版本管理
### 衍生
1. 日志 elk email warning  常见作用 相关工具 什么情况下要写,写多少,写多了会怎样
2. 启动项 run args click service or job 启动一次 循环启动 常驻监听 自动重启
3. 文档 docs md rst docstring 注释编写 文档编写 接口文档编写 文件类型 注释风格 文档传播
4. 目录组织 各目录作用 目录的扩展 目录的拆分 目录的抽象共用 模板
5. 架构设计 …架构 …模式 类设计级别 服务设计级别
6. 通信处理 http rpc socket gateway
7. 错误处理 error catch
8. 测试 单元测试 集成测试 接口测试 压力测试 安全测试
9. 部署 打包编译 加密 python环境 pip环境构建 单体部署 分布式部署 容器部署 集群化部署
10. 监控 硬件监控 集群监控 服务监控 接口监控 业务监控 功能监控
11. 编程约定 风格 语言
12. 版本管理 同步 恢复 version
### 一小段程序设计的过程分类
1. 分析
2. 设计
3. 编码
4. 测试
5. 排错
### 一个项目的阶段分类
1. 实现  第一阶段
2. 设计  第二阶段
3. 运行  第三阶段
4. 迭代(再实现) 第四阶段
5. 生命结束 第五阶段
前四个阶段与十二元素有分别的对应关系。
### 项目的核心部分
1. 启动项
2. 日志
3. 文档
4. 目录组织
## 一小步
想要构建好一个Project,就要注意好每一行代码,每一处元素。关注好每个部分,做经济实现。
我们工作中所做的茫茫多的事情,不过是经济活动中的一小步。
此生不长,所爱甚少。工作之余,陪伴好家人和朋友,这是编程实践中我目前认为最重要的一个道理。
分类: 未分类

Wally

Python/Web

发表评论

邮箱地址不会被公开。 必填项已用*标注