位置: IT常识 - 正文

让我看看你们公司的代码规范都是啥样的?(让我看看他们)

编辑:rootadmin
让我看看你们公司的代码规范都是啥样的?  大厂面试题分享 面试题库前后端面试题库 (面试必备) 推荐:★★★★★

推荐整理分享让我看看你们公司的代码规范都是啥样的?(让我看看他们),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:让我看看你们在干什么表情包,让我看看你们的照片,让我看看你们的照片,让我们看看你的表情,让我看看你看,让我们看看你的表情,让我们看看你的表情,让我们看看你怎么说,内容如对您有帮助,希望把文章链接给更多的朋友!

地址:前端面试题库  web前端面试题库 VS java后端面试题库大全

我这里提供一份我自己在使用的项目代码规范,当然我这里比较简陋,有补充的可以打在评论区,我丰富到文章里去。

1.组件命名规范

components下的组件命名规范遵循大驼峰命名规范。

示例:conpnents/AlbumItemCard/AlbumItemCard.vue

小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName

大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:MyName

2.目录命名规范

pages下的文件命名规范:遵循小驼峰命名规范。

示例:pages/createAlbum/createAlbum.vue

3.CSS命名规范

class命名规范为中划线。

示例:

<template><view class="gui-padding"> ...</view></template><style lang="scss" scoped>.gui-padding { ...}</style>复制代码让我看看你们公司的代码规范都是啥样的?(让我看看他们)

css使用scss进行书写。

4.代码注释规范

行内注释://

函数注释:

/** * @description: 加深颜色值 * @param {string} color 颜色值字符串 * @returns {*} 返回处理后的颜色值 */export function getDarkColor(color: string, level: number) { const reg = /^#?[0-9A-Fa-f]{6}$/ if (!reg.test(color)) return ElMessage.warning('输入错误的hex颜色值') const rgb = hexToRgb(color) for (let i = 0; i < 3; i++) rgb[i] = Math.round(20.5 * level + rgb[i] * (1 - level)) return rgbToHex(rgb[0], rgb[1], rgb[2])}复制代码

接口注释:

/** * @description 获取后台用户分页列表(带搜索) * @param page * @param limit * @param username * @returns {<PageRes<AclUser.ResAclUserList>>} * @docs https://xxxx */export function getAclUserList(params: AclUser.ReqAclUserListParams) { return http.get<PageRes<AclUser.ResAclUserList>>( `/admin/acl/user/${params.pageNum}/${params.pageSize}`, { username: params.username }, )}复制代码5.接口书写规范

4.1 接口定义规范:

接口全部写在api目录下面,按照功能划分,分为不同的目录。

比如搜索接口,定义在api/search/index.ts下面。

4..2 接口书写规范:

统一使用类方法,内部方法定义每个接口,最后统一export,接口使用到的类型全部定义在同级目录的interfaces.ts文件中。比如搜索相关的接口:

import Service from '../../utils/request'import { SearchItemInterface, SearchPageResponseInterface, SearchParamsInterface } from "./interfaces"class CateGory extends Service { /** * @description 搜索功能 * @param {SearchParamsInterface} params 二级分类Id */ // 搜索 getSearchAlbumInfo(params: SearchParamsInterface) { return this.post<SearchPageResponseInterface<SearchItemInterface[]>>({ url: '/api/search/albumInfo', data: params }) } /** * @description: 获取搜索建议 * @param {string} keyword 搜索关键字 * @return {*} */ getSearchSuggestions(keyword: string) { return this.get<string[]>({ url: `/api/search/albumInfo/completeSuggest/${keyword}`, loading:false }) }}export const search = new CateGory()复制代码

4.3 接口类型定义:

// 搜索参数export interface SearchParamsInterface { keyword: string; category1Id?: number | null; category2Id?: number | null; category3Id?: number | null; attributeList?: string[] | null; order?: string | null; pageNo?: number; pageSize?: number;}// 搜索结果item向接口export interface SearchItemInterface { id: number; albumTitle: string; albumIntro: string; announcerName: string; coverUrl: string; includeTrackCount: number; isFinished: string; payType: string createTime: string; playStatNum: number; collectStatNum: number; buyStatNum: number; albumCommentStatNum: number;}复制代码

4.4 接口引用

所有export的类接口方法都在api/index.ts中统一引入:

export { courseService } from './category/category'export { albumsService } from './albums/albums'export { search } from './search/search'复制代码

在页面中使用:

<script>import { courseService } from "../../api" /** * @description: 获取所有分类 * @returns {*} */ const getCategoryList = async () => { try { const res = await courseService.findAllCategory() } catch (error) { console.log(error) } }</script>复制代码6.分支命名规范分支管理命名规范解释master 主分支master稳定版本分支,上线完成回归后后,由项目技术负责人从 release 分支合并进来,并打 tagtest 测试分支test/版本号示例:test/1.0.0测试人员使用分支,测试时从 feature 分支合并进来,支持多人合并feature 功能开发分支feature/功能名称示例:feature/blog新功能开发使用分支,基于master建立bugfix修复分支bugfix/功能名称示例:fix/blog紧急线上bug修复使用分支,基于master建立release 上线分支release/版本号示例:release/0.1.0用于上线的分支,基于 master 建立,必须对要并入的 分支代码进行 Code review 后,才可并入上线7.代码提交规范前缀解释示例feat新功能feat: 添加新功能fix修复fix: 修改bugdocs文档变更docs: 更新文档style代码样式变更style: 修改样式refactor重构refactor: 重构代码perf性能优化perf: 优化了性能test增加测试test: 单元测试revert回退revert: 回退代码build打包build: 打包代码chore构建过程或辅助工具的变动chore: 修改构建 大厂面试题分享 面试题库前后端面试题库 (面试必备) 推荐:★★★★★

地址:前端面试题库  web前端面试题库 VS java后端面试题库大全

本文链接地址:https://www.jiuchutong.com/zhishi/297590.html 转载请保留说明!

上一篇:nvm安装与使用(nvm安装教程)

下一篇:学习使用vue实现一个简单的轮播图(vue使用教程)

  • iqoo8pro怎么关闭用户体验计划(iqoo8prohd怎么关闭)

  • opporeno4是曲面屏还是直面屏(opporeno4是曲面屏还是全面屏)

  • 苹果12有几款机型(苹果12有几款机型有什么区别)

  • 闲鱼能分期购买吗(闲鱼分期购买账号找回)

  • 剪映做视频为什么卡顿(剪映做视频为什么模糊)

  • 无法隔空投送(iphone无法隔空投送)

  • igoo是什么手机(iqoo什么牌子手机)

  • ios13.5.1适合什么机型(苹果13.5.1系统好用吗?建不建议更新)

  • 淘宝聊天消息显示感叹号(淘宝聊天消息显示今日在线什么意思)

  • 爱奇艺点播是什么意思(爱奇艺点播量怎么赚钱)

  • qq音乐怎么单曲循环播放(qq音乐怎么单曲购买不了)

  • 微博数据助手有什么用(微博数据助手可以看到访客吗)

  • 华为nova7se没有返回键吗(华为nova7se没有录音功能)

  • WPS填写身份证号码时变成了E 怎么设置(wps填写身份证号时怎么改成文本格式)

  • wps无响应怎么办(wps无响应怎么办mac)

  • 苹果手机发语音有杂音怎么回事(苹果手机发语音系统错误怎么办)

  • pse认证是什么认证(pse认证需要多少钱)

  • ipada1701是什么型号(ipada1701是ipad几)

  • 荣耀30 v30区别(荣耀30和v30哪款好)

  • word水平居中怎么设置(word水平居中怎么改动字体)

  • 表格怎么按数字大小排序(表格怎么按数字顺序拉下来)

  • 喜马拉雅怎样测声音(喜马拉雅如何测音)

  • 招贴设计和海报设计有何联系(招贴设计海报大师)

  • 苹果耳机怎么绑定icloud(苹果耳机怎么绑定id教程)

  • 小红书怎么查看订单(小红书怎么查看通讯录好友)

  • macOS Big Sur系统怎么打开HiPDI? macOS自定义HiPDI的技巧(macos big sur正式版)

  • 英国康沃尔郡岸边的日落 (© Andrew Turner/Getty Images)(康沃尔郡的大学)

  • 情感计算——多模态情感识别(情感计算的应用)

  • python如何导入不同目录下的包(python导入其他文件的函数)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络