浅谈前端开发规范

前端编程基础开发规范 遵循一定的规范有助于提高项目的可维护性、可扩展性和团队协作效率 阅读详情

22c08df451a13120fd544ce8d219bf1b.gif

新钛云服已为您服务1474

cde82cd43a8bf6b4c274f4a6ac4af2fa.gif


一个好的程序员肯定是要能书写可维护的代码,而不是一次性的代码,怎么能让团队当中的其他人,甚至过一段时间之后的你,再看自己某个时期写的代码,依然能看懂?这就涉及到规范你的代码了。

一、规范代码的好处

1、从根本上降低开发成本:

提高代码整体的可读性、可维护性、可复用性。

2、保证代码的一致性:

软件系统中最重要的因素之一就是编码的一致性。如果编码风格一致,也更加易于维护,因为团队内任何人都可以快速理解并修改。

3、提升团队整体效率:

开发人员通常需要花费大量的时间来解决代码质量问题,如果都按照规范编写,也有助于团队尽早发现问题,这将提高整个交付过程的效率。

二、不规范代码的弊端

1、增加团队成员间的协作负担:

由于缺乏规范,导致代码风格不一,极端情况下,某段代码只有某个人能修改。

2、团队间协作更加困难:

由于开发人员要适应不同的风格,会导致效率低下。

3、回顾困难:

在review期间,可能经常为类似的事情做过多的讨论。

4、影响降低团队整体效率

影响团队的生产力和质量,严重的甚至会影响团队和谐。

三、为什么很多团队缺乏规范

1、当开发人员被要求在短时间内完成任务时,通常会回避质量标准。

2、长时间养成的开发习惯很难在短时间内去改变。

3、有的时候虽然达成了一致,但在开发中依旧我行我素。

四、规范包含哪些内容

我们平时理解的前端开发规范,更多层面的是编码层面的规范,实际上远不止这一个。比如技术栈规范、浏览器兼容规范、项目文件结构规范、UI设计规范、前后端协作规范等,以下主要从这六个方面简单介绍下前端开发规范。

1、技术栈规范

前端目前主要有三大框架Vue、React和AngularJS。每一个框架背后都是一个架构、一个生态。每个框架背后牵涉着开发思维、生态系统、配套工具、最佳实践、性能调优。要精通和熟练一个框架需要付出的成本是很高。

所以说团队的开发效率是基于稳定且熟练的技术栈的。稳定的技术栈规范有利于团队协作和沟通; 另外如果团队精通这个技术栈,当出现问题或者需要深入调优, 会相对轻松。

前端技术栈规范主要包含下面这些类型:

① 编程语言 - Typescript或Javascript

② UI框架及其配套生态(路由、状态管理、组件库、国际化、动画、服务端渲染、脚手架、CLI工具、组件测试等)

③ 样式。命名规范、预处理器等

④ 动画引擎

⑤ 项目构建工具流。webpack、vue-cli

⑥ 包管理器。npm、yarn

⑦ 开发工具、工具库(moment.js)、版本管理(gitlab)等

2、浏览器兼容规范

前端团队应该根据应用所面对的用户情况、应用类型、开发成本、浏览器市场统计数据等因素,来制定自己的浏览器兼容规范。不过确定哪种兼容策略,应该取决于用户比重,如果大部分用户使用的是现代浏览器,就应该使用优雅降级,为现代浏览器提供最好的体验,而旧浏览器则退而求之次,保证大概的功能,反之选择渐进增强,保证低版本浏览器的体验,对于支持新特性的新浏览器提供稍好的体验。

有了浏览器兼容规范,前端开发和兼容性测试就有理有据,避免争议; 同时它也是前端团队的一种对外声明,除非特殊要求,不符合浏览器兼容规范的浏览器,前端开发人员可以选择忽略。

我们也可以根据浏览器市场分布情况、用户占比、开发成本等因素对将浏览器划分为多个等级,不同等级表示不同的支持程度:

① 完全兼容: 保证百分百功能正常

② 部分兼容: 只能保证功能、样式与需求大致一致。对于一些不影响主体需求和功能的bug,会做降低优先级处理或者不处理

③ 不兼容: 不考虑兼容性

3、项目文件结构规范

主要包含项目的命名、项目的文件结构、版本号规范等。

下面简单列举一类项目文件结构:

① README.md: 项目说明。你可以在这里提供关于项目的关键信息或者相关信息的入口。一般包含下列信息:

· 简要描述、项目主要特性;

· 运行环境/依赖、安装和构建、测试指南;

· 简单示例代码;

· 文档或文档入口, 其他版本或相关资源入口;

· 联系方式、讨论群;

· 许可、贡献/开发指南。

② CHANGELOG.md: 放置每个版本的变动内容, 通常要描述每个版本变更的内容。方便使用者确定应该使用哪个版本。

③ package.json: 前端项目必须. 描述当前的版本、可用的命令、包名、依赖、环境约束、项目配置等信息。

④ .gitignore: 忽略不必要的文件,避免将自动生成的文件提交到版本库。

⑤ docs/: 项目的细化文档, 可选。

⑥ examples/: 项目的示例代码,可选。

⑦ build: 项目工具类脚本放置在这里,非必须。如果使用统一构建工具,则没有这个目录。

⑧ dist/: 项目构建结果输出目录。

⑨ src/: 源代码目录。

   - src 开发目录

      - pages 视图

          - module-a 模块A

            - components 私有组件

              - ComA.tsx

              - ComB.tsx

            - index.module.less

            - index.tsx

            - Content.tsx

          - module-b 模块B

      - components 公共组件

        - index.ts 导出所有组件

        - header

          - index.tsx

          - index.module.less

          - User.tsx

          - useGetBaseInfo.hooks.ts

      - routers 路由文件

      - store redux中的数据

      - utils 这里是以utils为后缀

        - index.ts

        - a.utils.ts

        - b.utils.ts

      - hooks 这里是以hooks为后缀

        - index.ts

        - a.hooks.ts

        - b.hooks.ts

      - styles 静态资源文件

      - service api请求,这里是以api为后缀

        - a.api.ts 按照后端微服务进行划分

        - b.api.ts

      - constans 常量

⑩ tests/: 单元测试目录。

⑪ tests: 全局的测试目录,通常放应用的集成测试或E2E测试等。

⑫ .env*: 项目中我们通常会使用环境变量来影响应用在不同运行环境下的行为。可以通过dotEnv来从文件中读取环境变量. 通常有三个文件:

· env 通用的环境变量;

· env.development 开发环境的环境变量;

· env.production 生成环境的环境变量。

4、编码规范

每一个程序员心目中对‘好代码’都有自己的主见,统一的编码规范可以避免不必要的论战和争议,有利于团队项目的长远维护。一致性的代码规范可以增强团队开发协作效率、提高代码质量、减轻系统维护的负担。

以下主要从HTML、JS、CSS、代码格式化这四个方面谈谈编码规范:

① HTML规范

使用 HTML5 的文档声明类型 :

DOCTYPE标签是一种标准通用标记语言的文档类型声明,它的目的是要告诉标准通用标记语言解析器,它应该使用什么样的文档类型定义(DTD)来解析文档。

使用文档声明类型的作用是为了防止开启浏览器的怪异模式。

没有DOCTYPE文档类型声明会开启浏览器的怪异模式,浏览器会按照自己的解析方式渲染页面,在不同的浏览器下面会有不同的样式。

如果你的页面添加了,那么就等同于开启了标准模式。浏览器会按照W3C标准解析渲染页面。

详细规范可查看:https://codeguide.co/#html

② JS规范

函数变量命名、代码注释等。JS/TS主流的大致有这几种:

· Airbnb JavaScript Style Guide:

https://github.com/airbnb/javascript

· Google JavaScript Style Guide:https://google.github.io/styleguide/jsguide.html]

· Idiomatic JavaScript Style Guide:

https://github.com/rwaldron/idiomatic.js

· JavaScript Standard Style Guide

③ CSS规范

ID和class的命名、合理使用ID、css选择器中避免使用标签名、使用子选择器、尽量使用缩写属性等,详细可参考以下网站:

· Airbnb CSS / Sass Styleguide:

https://css-tricks.com/bem-101/

· Code Guide:

https://codeguide.co/#css

④ 代码格式化规范

由于每个开发者的IDE不同,即使IDE相同也会因为每个人的配置不一样导致格式化的结果不一样。如何确保团队内开发人员采用统一的格式化配置呢?

这里给推荐大家使用 prettier,它内置了一套格式化的规则。细可参考以下网站:https://prettier.io/

5、UI设计规范

UI 规范的最大好处就是能够提质提效:

① 在开发者的角度,与设计规范同步形成研发资产,避免重复造轮子;

② 在测试的角度,能够避免重复的无意义走查;

③ 在UI设计师的角度,减少设计成本,提高设计效率,可以快速承接新需求;

④ 在产品角度,提高产品迭代与优化效率,降低试错成本;

⑤ 在用户角度,解决用户体验一致性。

如果团队不打算制定自己的UI设计规范,则推荐使用现成的开源组件库:Ant Design、Element UI、iView、WeUI等

 6、前后端协作规范

前端往往不能脱离后端而存在,和后端协作的时间也是比较长的。

一个常用的前后端协作流程:

① 需求分析。参与者一般有前后端、测试、以及产品。由产品主持,对需求进行讲解,接受开发和测试的反馈,确保大家对需求有一致的认知。

② 前后端开发讨论。讨论应用的一些开发设计,沟通技术点、难点、以及分工问题。

③ 设计接口文档。可以由前后端一起设计;或者由后端设计、前端确认是否符合要求。

④ 并行开发。前后端并行开发,在这个阶段,前端可以先实现静态页面; 或者根据接口文档对接口进行Mock, 来模拟对接后端接口。

⑤ 前后端进行接口联调。

五、前端开发规范实例

1、项目情况

多人开发同一个项目的不同模块;由于开发前没有制定规范,导致每个人的代码都是一种单独的风格;当其他人去修改代码时需要熟悉不同风格的代码,浪费了大量时间在阅读代码上;而且由于没有全局的样式规范,导致每个人都有一套自己的样式,在后期如果想要做统一的界面风格时需要每个人都去修改样式代码,增加了大量工作量。

2、制定规范

根据项目的实际情况,由于项目已经开发到一定程度,已经选好了开发框架,所以可以从编码和UI设计等方面进行规范。

由于项目是一个管理系统,所以对于前端UI来说可以统一页面结构;制定一个统一风格的模板,开发的时候可以直接使用模板代码去做适应性的修改;

由于缺乏统一的样式标准,导致后期统一风格时会花费大量时间,所以进行统一的样式分离,抽离公共的CSS样式去引用,方便后期统一修改;

由于一些变量和函数命名过于简单比如a、b、c等,规范多使用一些语义化的单词去命名,方便理解和阅读;

由于项目开发中前后端是同一个人开发,导致有些可能是后端的工作放到了前端去处理。比如分页功能,虽然这个是前后端都可以做的,但是如果使用前端去分页,这样就要需要一次性返回全部数据,数据量大的时候接口可能会返回很慢,导致页面空白时间比较长,所以建议有些逻辑功能要根据实际情况去决定是前端还是后端处理。

3、最终成果

项目代码结构基本上有一个统一的风格;各模块页面也有了统一的风格;用户体验较好;也方便了开发和维护。

总结:

一个人走得更快,一群人可以走得更远。统一规范的最根本目的是为了保证团队成员的一致性,从而减少沟通成本,提高开发效率。学会热爱标准,但要确保它们不是一成不变的。如果制定的规范不适合您的团队,请确保可以适应和重写所需要的任何规则。它并不是要强制执行一种工作方式,而是为了帮助促进团队之间的互动。

了解新钛云服

新钛云服荣膺第四届FMCG零售消费品行业CIO年会「年度数字化服务最值得信赖品牌奖」

新钛云服三周岁,公司月营收超600万元,定下百年新钛的发展目标

当IPFS遇见云服务|新钛云服与冰河分布式实验室达成战略协议

新钛云服正式获批工信部ISP/IDC(含互联网资源协作)牌照

深耕专业,矗立鳌头,新钛云服获千万Pre-A轮融资

新钛云服,打造最专业的Cloud MSP+,做企业业务和云之间的桥梁

新钛云服一周年,完成两轮融资,服务五十多家客户

上海某仓储物流电子商务公司混合云解决方案

往期技术干货

Kubernetes扩容到7,500节点的历程

低代码开发,全民开发,淘汰职业程序员!

国内主流公有云VPC使用对比及总结

万字长文:云架构设计原则|附PDF下载

刚刚,OpenStack 第 19 个版本来了,附28项特性详细解读!

Ceph OSD故障排除|万字经验总结

七个用于Docker和Kubernetes防护的安全工具

运维人的终身成长,从清单管理开始|万字长文!

OpenStack与ZStack深度对比:架构、部署、计算存储与网络、运维监控等

什么是云原生?

IT混合云战略:是什么、为什么,如何构建?

921d8db56713195cf42910e4eb75ea07.gif

点👇分享

039b6323c0db6a8cb148d129a2bf9347.gif

戳👇在看

最全移动端UI设计规范,作为前端的你,了解多少? 很多新人在开始做移动端UI设计的时候,往往对界面的一些尺寸规范不是十分清楚,很多时候都是凭借自己的感觉和经验去绘制界面,心里并没有一个清晰的概念,导致做出来的页面总是不那么尽如人意。本文整理汇总了一些界面设计(iOS系统)中常用的一些尺寸规范和方法,如控件间距、适配、标注、切图等,设计师在设计时并不一定要严格遵守,但对这些规范应有所了解,并融会贯通。 目录 界面设计尺寸及栏高度 边距和间距 内容布局 界面图片设计比例 建立统一风格的图标 APP版式设计规范 界面文字设计规范 设计适配 切图规范 设计稿标注 阅读详情

相关推荐

前端设计中ui,icon的基本规范

其他尺寸:ldpi(240*320)、mdpi(320*480)、hdpi(480*800)3、webmobile尺寸:常见为(宽度640px、高度960px)android低分辨率长文本(可接受)14px(见小值)16px(舒适值)18~20px(320*480)android高分辨率长文本(可接受)21px(见小值)24px(舒适值)27px(480*800)ios长文本(可接受)26px(见小值)30px(舒适值)32px~34px双数。

weixin_42095178的博客 1571

规范:前端代码开发规范

元素的类名应该由块的类名和单个字母、单个单词或单词组成,多个词之间也用连字符(-)连接,例如:.menu__item、.list__item。这种方法可以大大减少样式的重复和冗余,并提高样式表的可维护性。例如,使用 `onSuccess` 来表示当操作成功时执行的回调函数,使用 `onError` 来表示当操作失败时执行的回调函数等。6.4、CSS Modules:这是一种将 CSS 模块化和组件化的方法,它将样式表视为独立的模块,每个模块都有自己的命名空间和局部作用域,以防止样式冲突和提高组件的重用性。

snow的博客 2517

前端ui设计规范

参考链接:https://www.cnblogs.com/zhoudawei/p/10492711.html

LIangell的博客 1047

常见的前端开发规范

本文为吸取各方意见加头脑风暴,整理而成,前端开发规范。包含编码规则、注意事项,开发工具以及插件等。

wsspz940214的博客 5257

浅谈前端开发流程规范

前端开发流程规范,包括:前端命名规范、前端工作规范、开发文档书写规范

weixin_42357865的博客 690

浅谈前端研发链路之代码规范

前端开发过程中,保持代码的整洁和一致性是至关重要的。这不仅有助于团队协作,提高代码的可读性和可维护性,还能减少错误,提升开发效率。本文将从业界流行规范,CSS命名规范,工具三个方面简析一下前端开发中的代码规范,然后探讨一下未来代码规范的发展趋势。代码规范是一个老生常谈的问题,每个团队都有自己团队的风格,也可能定制出不一样的编码规则,但是基本上业界的标准是通用的,只是在团队的实施过程中会有少许差异。代码规范其目的不是为了束缚某个人,而是抹平整个团队代码风格的差异。

1178

浅谈前端开发的技术债

大家好,我是喵喵侠。技术债是一个老生常谈的话题了,这个无可避免,会伴随开发一生。只要技术在更新,需求在变化,技术债就一定会产生。那么如何有效治理技术债,这个话题就很有探讨的价值。下面我将会以我个人的角度,浅谈一下技术债产生的场景,以及如何解决和避免技术债。也许每一个人对技术债的理解都是不一样的,但在我看来,每一个小的改动,都可能会堆积成技术债。合理的代码书写、恰当地使用成熟的技术方案,会在一定程度上防止技术债的出现,减少技术债越欠越多的情况。

喵喵侠的CSDN博客 489

工作未始,规范先行!浅谈代码规范

标题

weixin_41993525的博客 547

浅谈前后端分离规范

前言 本文的主要初衷就是规范约定先行,尽量避免沟通联调产生的不必要的问题,让大家身心愉快地专注于各自擅长的领域。前端开发负责页面的展示、交互体验越来越灵活、炫丽,响应体验也要求越来越高。后端开发负责服务的高并发、高可用、高性能、高扩展等特性。随着开发需求高度的提示,开发难度愈加苛刻,从而导致前后端研发各自专注于自己擅长,让专业的人做专业的事。 开发流程 后端编写和维护接口文档,在 API 变化时更新接口文档 后端根据接口文档进行接口开发 前端根据接口文档进行开发 + Mock平台 开发完成后联调和提交测试

拥抱AI Design 1722

浅谈web前端命名规范

常见的命名参考规范:header内容:content/container尾部:footer导航:nav侧栏:sidebar栏目:column整体布局:wrapper左右中:left / right / center

郝名扬的博客 524

浅谈前端代码里的命名规范与注释

代码里的命名规范和注释

泠泠似水 562

前端开发--经验浅谈

背景: 1、6月15号左右在学校领完毕业证,18号来到广州,出来历练一番。2、不是很记得后台逻辑代码了,就选择了我目前相对而言比较擅长,又还比较熟悉的“前端开发”(我当时对前端的理解是h5+css。面试和工作后知道,这只是最基础的)。 初步: 明确目标:前端开发后,那几天都是网上在投简历,在智联、拉勾等软件上筛选广州天河区-->前端开发-->“应届毕业生”或“1-3年工作经验”。收到一家面试

wodexiaochuxia的博客 2019

UI 设计标准规范 个人总结

设计规范介绍设计规范是适用于人机交互界面设计师,用户体验设计师,前端技术工程师,发布人支持人员以及运维编辑人员人参考,贯穿以用户为中心的设计指导方向,根据界面的特点统一规范,以达到提升用户体验,控制产品设计质量,提高效率的目的。制定标准的意义 统一设计风格;色彩;布局。舒适的色彩搭配;结构布局;操作流程。整体效果的美观。便捷:能点选就不输入;能少层级就不多;界面元素一目了然。web设计的标准宽度...

qq_42417923的博客 7631

前端学习总结

html + css + javascript + vue基础

Ranye的博客 555

前端开发规范-基本原则

代码规范一直以来是都是我们比较关注的问题。不统一且不规范的代码会导致我们在接手别人的项目的时候造成很大的学习成本。为了避免篇幅过长,我会分成几个部分逐一进行分享。也希望多提提意见以便大家一起进步。本文是对W3Cschool中的前端开发规范的梳理和解析以及个人见解,有兴趣的同学可以看一下。 W3Cschool前端开发规范 基本原则 缩进 统一两个空格缩进(总之缩进统一即可),不要使用 Tab 或者 Tab、空格混搭。 对于这里笔者认为使用table和空格都不重要,重要的是几个缩进。 建议:使用2.

实事求是,艰苦奋斗,小小的梦想,终将实现。 1430

前端开发规范详解

引言 如果开发团队就一个人的话,那么自己写的代码就是规范,随着公司业务的扩展,团队不断壮大,这时候就要开始考虑协作和编码规范问题了。 一个人走的更快,一群人可以走的更远,前提是统一的策略,还要不断地反省和优化。 什么是规范规范,名词意义上:即明文规定或约定俗成的标准,如:道德规范、技术规范等。动词意义上:是指按照既定标准、规范的要求进行操作,使某一行为或活动达到或超越规定的标准,如:规范管理、规范操作。 为什么要有规范? 降低新成员融入团队的成本, 同时也一定程度避免挖坑; 提高开发效率、团队协作

柯晓楠 1万+

【前端设计】前端设计原则,布局规范

内容总结于 elementUI,iview,bootStrap中文网,互联网 前端设计原则 一致性 Consistency   与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念; 在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。 反馈 Feedback   控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作

而浮生若梦,为欢几何 2万+
上一篇: selenium自动化登录idaas
下一篇: Inspector安全与自动生成报表实战
新钛云服
博客等级 码龄7年 501粉丝 · 477原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值