File tree Expand file tree Collapse file tree 1 file changed +80
-0
lines changed
Expand file tree Collapse file tree 1 file changed +80
-0
lines changed Original file line number Diff line number Diff line change @@ -171,3 +171,83 @@ app.mount('.app-mounted-root')
171171您作为公司的架构师,对这些问题会有更深入全面的看法,希望能多多帮助推动这些问题的解决。
172172
173173能让前端团队认识到以上问题的危害,代码风格和质量对协作的重要性,** 最好能综合前端同事的一些意见,在认知上达成统一,制定前端项目可实施的质量标准,并结合上面我提到的两个工具自动化地落实。**
174+
175+ ### 目前没有强制统一风格,文件改动会可能会经历这样的典型过程:
176+
177+ ``` bash
178+ a.js # A 同事编写的 风格A
179+ b.js # B 同事编写的 风格B
180+ c.js # C 同事编写的 风格C
181+ ```
182+
183+ 修复一个 bug,B 同事改动了 a.js
184+
185+ ``` bash
186+ a.js # B 同事改动,风格变成 B,可能有大量格式上的改动
187+ ```
188+
189+ 又修复一个 bug , A 同事改动 a.js
190+
191+ ``` bash
192+ a.js # A 同事改动了,风格又变成 A,可能有大量格式上的改动
193+ ```
194+
195+ 新增一个功能,D 同事新增一个文件:
196+
197+ ``` bash
198+ d.js # D 同事新入的代码,风格是 D
199+ ```
200+
201+ 修复一个 bug, B 同事去改动了 d.js:
202+
203+ ``` bash
204+ d.js # B 同事改动,风格变成 B
205+ ```
206+
207+ 可看到,不强制统一风格,已经存在的文件,会随着代码改动,风格越来越乱;
208+
209+ 新增的文件,不同的人也有不同的风格;
210+
211+ 所以,风格不一致引发的协作问题,没有解决,反而会越来越严重。
212+
213+ ### 强制统一风格后,不管谁来改动文件,代码风格最多有一次变化,此后谁来改动,都一致
214+
215+ 统一风格后,文件改动可能会经历这样的过程:
216+
217+ ``` bash
218+ a.js # A 同事编写的 风格A
219+ b.js # B 同事编写的 风格B
220+ c.js # C 同事编写的 风格C
221+ ```
222+
223+ 修复一个 bug,B 同事改动了 a.js
224+
225+ ``` bash
226+ a.js # B 同事改动,风格变成 W,可能有大量格式上的改动
227+ ```
228+
229+ 又修复一个 bug , A 同事改动 a.js
230+
231+ ``` bash
232+ a.js # A 同事改动,风格还是 W
233+ ```
234+
235+ 新增一个功能,D 同事新增一个文件:
236+
237+ ``` bash
238+ d.js # D 同事新入的代码,风格是 W
239+ ```
240+
241+ 修复一个 bug, B 同事去改动了 d.js:
242+
243+ ``` bash
244+ d.js # B 同事改动,风格还是 W
245+ ```
246+
247+ 统一风格后,代码风格会随着文件的改动,逐渐统一,** 一个文件最多发生一次风格上的变化,此后风格都一样了** ,所以代码风格引发的协作摩擦也会越来越少,逐渐消除了。
248+
249+ > 不会特意去格式化老文件,而是需要修复 bug 了,才去改动,此时改动,会引发一次格式上的变化,但是此后不管谁来改动,格式都是一致。
250+
251+ > 风格的统一,引入 bug 的可能性非常低。又因为有 bug 才去改动老文件,会经历测试的过程,因此引发 bug,也会发现。
252+
253+ > 格式化引发 bug,我从来没遇到过,除非像 uniapp ,使用特定的注释,作为条件编译的情况。
You can’t perform that action at this time.
0 commit comments