Skip to content

Commit 8ea651e

Browse files
committed
docs: 代码质量&Git补充,JS微调
1 parent 428bf1a commit 8ea651e

File tree

3 files changed

+26
-14
lines changed

3 files changed

+26
-14
lines changed

src/codeSpecQuality/踩坑总结.md

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
本篇是作者在工作中遇到的Bug反思,分为原因分析、养成习惯、吸取经验三部分,以此避免再次犯错。同学们可以看一看,是否也犯过一样的错误。最后补充了CodeReview建议,本篇介绍的都与代码质量有关
1+
本篇介绍的内容与代码质量有关。是作者在工作中遇到的Bug反思,分为原因分析、养成习惯、吸取经验三部分,以此避免再次犯错。同学们可以看一看,是否也犯过一样的错误。
22

33
## 原因分析
44
- 未考虑边界条件
@@ -42,7 +42,19 @@
4242
- 客户端做增强型校验,服务端需要校验吗?需要,因为3种交互方式(URL、超链接、表单)中的URL存在风险,需提高安全性,防止暴力访问
4343
- 服务端做增强型校验,客户端需要校验吗?需要,提高用户体验,减少服务器压力
4444

45-
## CodeReview建议
46-
- 推荐reviewer是做过这块业务或与之相关性较强的
47-
- 提PR时清晰描述功能或问题
48-
- 项目上有对应的单测
45+
## 彩蛋:从流程上把控代码质量
46+
> - 设计阶段
47+
> - 需求复用
48+
> - 提供技术设计方案,确定影响范围
49+
> - 开发阶段
50+
> - 提供测试用例
51+
> - 自动化代码检查
52+
> - 编写执行单元测试
53+
> - CodeReview:推荐reviewer是做过这块业务或与之相关性较强的;提PR时清晰描述功能或问题
54+
> - 测试阶段
55+
> - 自动化端到端测试,用于回归(已有功能在本迭代执行,新功能在下迭代实现并执行)
56+
> - 上线维护阶段
57+
> - 提供错误、性能等监控
58+
> - 提供回滚机制
59+
> - 用户反馈
60+
> - 定期问题复盘

src/git/Git命令.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,10 @@ git rebase -i
319319
>
320320
> cherry-pick:产生新提交,即新提交id与pick id不同
321321
322+
> 单分支合并与Light Merge
323+
>
324+
> 单分支合并有代码覆盖风险,而Light Merge通过多分支自由组合、自动合并,提高敏捷度(即自由选择要合并的分支)和部署效率(合并失败则停止,有冲突则给出提示,成功则取集成特性分支的最大集合),特别适合多项目的单仓库
325+
322326
## 日志操作
323327
- 查看提交记录
324328
```bash

src/javascript/JavaScript基础下篇.md

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -438,19 +438,15 @@ c.fun(3); // undefined、0、1、1,最后只有一个闭包,过程中产生
438438

439439
## 编程范式
440440
- 命令式编程:关注怎么做
441-
- 面向过程编程
441+
- 面向过程编程
442442

443443
- 声明式编程:关注做什么,比如SQL、HTML、CSS。特点是不必创建变量存储数据;不包含循环控制语法如for、while
444-
- 面向对象编程OOP:使用简单,共享状态
445-
- 面向函数编程:无副作用,适合分布式计算集群的应用场景,但过度使用会导致可读性稍弱差、学习难度大(掌握λ演算、代数、范畴学等基础)
444+
- 面向对象编程:使用简单,共享状态
445+
- 面向函数编程:无副作用,适合分布式计算集群的应用场景,但过度使用会导致可读性稍弱差、学习难度大(掌握λ演算、代数、范畴学等基础)
446446

447-
- *面向切面编程AOP不是一种编程范式,是一种编程思想
447+
> *面向切面编程AOP(Aspect-Oriented Programming)不是一种编程范式,是一种编程思想
448448
449-
英文名称为Aspect-Oriented Programming,目的是针对业务处理过程中的切面进行提取,所面对的是处理过程中的某个步骤或阶段,实现逻辑过程中各部分间的低耦合性
450-
451-
可用于数据埋点、功能延伸等
452-
453-
示例
449+
目的是针对业务处理过程中的切面进行提取,所面对的是处理过程中的某个步骤或阶段,实现逻辑过程中各部分间的低耦合性。可用于数据埋点、功能延伸等。示例如下,
454450
```javascript
455451
Function.prototype.before = function(fn) {
456452
var __self = this;

0 commit comments

Comments
 (0)