找茬项目 架构治理平台
    开发人员 彭从豪
    找茬人员

    | 刘心瑜、刘金萍、王慧敏、魏孟皓、彭从豪、齐继超、许敏、轩梦文、曹荣、项烀焜、刘晓娟 | | 下期找茬 | 架构治理平台 |

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

    自测清单:2022 前端工程师上线自测清单 (v22.7.8)
    https://www.yuque.com/docs/share/758bf2d8-275c-48b1-83d8-1c8771972722

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

    找茬案例
    优化代码片段一

    1. // not good
    2. <div class="power" v-show="isShowPower">
    3. ...
    4. </div>
    5. // good
    6. <div class="power-name" v-show="isShowPower">
    7. ...
    8. </div>

    该代码存在以下规范问题:
    4.2.1 命名 【强制】类名使用小写字母,以中划线分隔

    找茬案例
    优化代码片段二

    1. // not good
    2. <div class="first-content">
    3. <el-button
    4. style="
    5. float: right;
    6. width: 120px;
    7. margin-top: -35px;
    8. "
    9. v-show="isShowFirst"
    10. @click="changeMode"
    11. >清空搜索内容</el-button
    12. >
    13. </div>
    14. // good
    15. <div class="first-content" style="clear: both;">
    16. <el-button
    17. style="
    18. float: right;
    19. width: 120px;
    20. margin-top: -35px;
    21. "
    22. v-show="isShowFirst"
    23. @click="changeMode"
    24. >清空搜索内容</el-button
    25. >
    26. </div>

    该代码存在以下规范问题:
    【推荐】如果一个元素要浮动,那么它的祖先一定要有高度,有高度的盒子,才能关住浮动

    找茬案例
    优化代码片段三

    1. // not good
    2. <p>
    3. <span style="font-size: 16px; font-weight: bold">一级域名称 </span>
    4. </p>
    5. // good
    6. <h4>一级域名称</h4>

    该代码存在以下规范问题:
    4.7.8 语义化标签 【推荐】在页面的标题部分使用

    标签,不需要给它们加多余的样式;

    找茬案例
    优化代码片段四

    1. // not good(多次使用一个颜色)
    2. <div v-show="isShowFirst" style="color: #409eff; font-size: 14px">
    3. {{ firstFind[0] }}
    4. </div>
    5. // good(定义全局less文件颜色,在组件中引入样式)
    6. //定义less文件
    7. @primaryColor:#409eff
    8. //在组件中引入样式
    9. @import '@/static/custom.less'
    10. <div v-show="isShowFirst" style="color: @primaryColor; font-size: 14px">
    11. {{ firstFind[0] }}
    12. </div>

    该代码存在以下规范问题:
    4.2.1 命名 【强制】less中的变量、函数、混合等采用驼峰命名

    找茬案例
    优化代码片段五

    1. // not good
    2. if (this.currentThirdIndex == index) {
    3. return { active: this.isShowColor };
    4. }
    5. // good
    6. if (this.currentThirdIndex === index) {
    7. return { active: this.isShowColor };
    8. }

    该代码存在以下规范问题:
    4.3.8 语法 【推荐】使用 === 代替 ==,!==代替!=(==会自动进行类型转换,可能会出现奇怪的结果)

    找茬案例
    优化代码片段六

    1. // not good
    2. <div
    3. :class="[showFirstColor ? 'front-box' : 'later-box']"
    4. @click="powerShow"
    5. >
    6. 业务能力清单
    7. </div>
    8. //样式
    9. .front-box,
    10. .later-box {
    11. margin: auto;
    12. font-size: 20px;
    13. font-family: Source Han Sans CN-Medium, Source Han Sans CN;
    14. }
    15. .front-box {
    16. color: #409eff;
    17. }
    18. .later-box {
    19. color: #000;
    20. }
    21. // good
    22. <div
    23. :class="['identical-box',showFirstColor ? 'front-box' : '']"
    24. @click="powerShow"
    25. >
    26. //样式
    27. .identical-box{
    28. margin: auto;
    29. font-size: 20px;
    30. font-family: Source Han Sans CN-Medium, Source Han Sans CN;
    31. color: #000;
    32. &.front-box {
    33. color: #409eff;
    34. }
    35. }

    该代码存在以下规范问题:
    【推荐】样式优化&选择器

    找茬案例
    优化代码片段七

    1. // not good
    2. .second-item {
    3. display: flex;
    4. flex-wrap: wrap;
    5. justify-content: start;
    6. width: 100%;
    7. font-size: 14px;
    8. div {
    9. width: 20%;
    10. line-height: 20px;
    11. font-size: 14px;
    12. }
    13. }
    14. // good
    15. .second-item {
    16. display: flex;
    17. flex-wrap: wrap;
    18. justify-content: start;
    19. width: 100%;
    20. font-size: 14px;
    21. .name {
    22. width: 20%;
    23. line-height: 20px;
    24. }
    25. }

    该代码存在以下规范问题:
    【推荐】标签选择器,字体行高会继承

    找茬案例
    优化代码片段八

    1. // not good
    2. .el-divider {
    3. margin: 8px 0px;
    4. border-top: 1px solid #e6ebf5;
    5. }
    6. // good
    7. element-ui样式单独写一个less文件引入
    8. import style from '@/css/element.less'

    该代码存在以下规范问题:
    【推荐】element-ui最好写在单独文件引入