代码来找茬

找茬项目 微服务流立方
开发人员 魏孟皓
找茬人员 刘心瑜、刘金萍、王慧敏、魏孟皓、彭从豪、齐继超、许敏、轩梦文、曹荣
下期找茬 架构治理平台

遵循规范:2022 前端工程师开发规范手册(v22.6.16) https://www.yuque.com/docs/share/6f0825ad-6d9f-4d70-bbd1-ca1a4b5c694c

找茬规则

  • 每周四轮流对一个项目进行代码Reivew
  • 成员可对项目进行相互找茬,找出可优化的代码片段
  • 遵循规范给出调整建议并指出规范问题
  • 案例留档整理

    找茬案例

    找茬者-刘心瑜

    优化代码片段一 ``` // not good

// good

  1. 该代码存在以下规范问题:<br />4.4.13【强制】可简写指令需要缩写 (用 `:` 表示 `v-bind:` 和用 `@` 表示 `v-on:`)
  2. <a name="G2iZF"></a>
  3. #### 找茬者-刘金萍
  4. 优化代码片段一

// not good

// good

  1. 该代码存在以下规范问题:<br />4.2.1【强制】类名使用小写字母,以中划线分隔
  2. 优化代码片段二
  3. ```json
  4. // not good
  5. import Network from '@/components/stellarMap/Network.vue'
  6. export default {
  7. components: {
  8. Network,
  9. },
  10. // good
  11. import NetWork from '@/components/stellarMap/Network.vue'
  12. export default {
  13. components: {
  14. NetWork,
  15. },

该代码存在以下规范问题:
4.4.3【推荐】应用特定样式和约定的基础组件 (也就是展示类的、无逻辑的或无状态的组件) 应该全部以一个特定的前缀开头,比如 Base、App 或 V
4.4.语法【强制】模版中的组件名大小写在单文件组件和字符串模板中组件名应该总是 PascalCase 的;但是在 DOM 模板中总是 kebab-case 的

优化代码片段三

  1. // not good
  2. let sessionData = JSON.parse(_sData)
  3. // good
  4. let sessionData = JSON.parse(_sData);

该代码存在以下规范问题:
4.3.1【强制】以下几种情况后需加分号;

  • 变量声明
  • 表达式
  • return
  • throw
  • break
  • continue
  • do-while

    找茬者-魏孟皓

    优化代码片段一 ```vue // not good { type: ‘value’, axisLabel: { formatter: ‘{value} %’, }, splitLine: { lineStyle: { color: ‘#2D3A4E’, }, }, },

// good { type: ‘value’, axisLabel: { formatter: ‘{value} %’, }, splitLine: { lineStyle: { color: ‘#2d3a4e’, }, }, },

  1. 该代码存在以下规范问题:<br />4.2 【强制】十六进制值应该全部小写,例如,#f3f6fa
  2. <a name="l4UJL"></a>
  3. #### 找茬者-许敏
  4. 优化代码片段一
  5. ```javascript
  6. // not good
  7. <orga :orgid="msg" flag="task" @updata="closeTaskOrga"></orga>
  8. // good
  9. <orga :org-id="msg" flag="task" @updata="closeTaskOrga"></orga>

该代码存在以下规范问题:
【强制】父子组件传值使用 kebab-case写法
优化代码片段二

  1. // not good
  2. const nameFilter = (rule, value, callback) => {
  3. console.log('ppp');
  4. if (value.trim() === '') {
  5. callback(new Error('任务名不能为空'));
  6. } else {
  7. callback();
  8. }
  9. };
  10. // good
  11. const nameFilter = (rule, value, callback) => {
  12. if (value.trim() === '') {
  13. callback(new Error('任务名不能为空'));
  14. } else {
  15. callback();
  16. }
  17. };

该代码存在以下规范问题:
【推荐】慎用 console.log,因 console.log 大量使用会有性能问题