我们应该如何编写高质量的前端代码,分享一些行业经验的文案

本文分享了如何通过系统化的《2024年最新Web前端全套学习资料》提升技能,强调了团队合作在项目开发中的重要性,以及良好的编码习惯和学习路径,提倡结构化、模块化和语义化的开发方式。
摘要由CSDN通过智能技术生成

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

团队合作

团队合作才是真正的难题,不像我们自己编写的项目,想怎么写都行,不怕有看不懂的时候。当我们提交代码的时候也是不用经过其他成员的同意,直接push到master分支。这些都是我们个人开发的时候做法,到了公司层面或者项目的层面,那你就直接收拾东西吧。

大型的项目一般开发人员是比较多的,每一个人都会负责不同的模块和不同的功能,每一个人都会有自己独立的分支,代码合并到主分支的时候还得经过审核,这是一个完善、系统的开发流程。所以项目越复杂,团队合作的要求就会越高。一般我们都会有一种代码开发规则,大家都应该相互遵守,不然我们就会污染正常的代码,导致项目难以维护。所谓团队合作的最大困难不是技术,是人。

小结:

除了我们要项目的代码进行解耦,把结构、样式与行为进行分离之外,我们还应该重视简洁、可复用以及结构化的特点。当你能够做到这些的时候,你的项目就会显得专业,代码的可维护性以及可扩展性就会越高,开发人员添加新的功能或者模块就会显得比较轻松。

03 高质量结构代码



语义化

HTML5出来之后,添加了很多新的标签和属性,而语义化这个概念就出现在前端人的眼中。之前我们编写结构代码的时候一般会选择使用div与类名/ID名的方式来命名一个模块,所谓DIV+CSS开发模式就是这样由来。那么这种方式可否可行呢?当然是可行的,而且别人用的很舒服,就是cv操作多了点。

当然缺点是有的,比如最主要的就是结构不清晰,无论是编写导航还是模块、亦或是底部,全程div。这样结构就不清晰了,如果没有加以类名或者ID名,根本不知道你写的代码是属于哪一个模块。而且还有一点就是对搜索引擎不友好,不能准确识别你的网站结构和信息。

那么如何看你的代码是否语义化呢?很简单,把所有的样式都去掉,看你的页面结构是否显示正常,一般语义化的标签都会有默认的样式。如果显示还可以,结构有序就是语义化比较好了,反之你就重新写一下吧。

模块化

模块化其实就是跟在语义化之后的,如果你的语义化做的比较好,那么相应的模块化就比较好了。我认为模块化的重点应该关注你的标签选择是否合理,比如文字就使用p/span标签,标题应该使用H1-6标签等。不能所有的文字都是用div这个万能的标签元素,能用p的就不要去用div,因为p本身是针对文字的,有一定的基础样式。

小结:

不过现在我们似乎不会关注这些东西了,因为有了高颜值组件库的出现,需要什么直接cv过来使用。但是我们注意的是,并不是说这样你就逃避学习的理由,因为无论是多高大上的组件都是由最基本的样式和结构组成的,学会背后的造轮子思想才是最重要的。当组件不能满足业务上的需求的时候,就需要你进行css代码的编写了。

04 高质量样式代码



盒子模型

一般面试或多或少都会问一下你关于css盒子模型的理解,如果没有准备的小伙伴可能会把内容搞混了。这里再重复一遍:

  • IE:元素的宽度由width+border+padding组成

  • 标准:元素的宽度就是width,本身包括了padding+border

样式组织

关于我们页面的样式如何编写,也是我们要考虑的一个问题,我们关于样式的编写没有对错只有好坏。页面写出来,能够满足自己的期望那就是对的样式,是否合理又是另一方面的事情了。

所以这里可以参考一下样式的结构组织:reset.css+common.css+view.css

首先第一个是基本的样式标准,专注于底层的样式。这里的reset是指我们把浏览器默认的基本样式都重置一下,尽量满足所有的浏览器样式看起来是一致的。还记得我们之前说过通配符*吗?那是一个及其暴力的样式重置,但也是很危险的一个操作符。危险是因为需要遍历页面所有的元素节点,给他加上样式。这里我们就推荐使用网上的reset.css即可,都有很多供你选择,假如你懒得找且项目支持npm安装,直接npm i reset-css即可,简单快速方便。

common.css是指一些组件相关的样式,比如我们们如果在vue里面写代码的话就知道一个vue文件可以由三部分组成,其中一个部分就是可以让你编写属于组件的样式代码,这里我们重用组件的时候就会显得非常方便。关于view.css其实就是一个更高层次的编写,属于一个页面的样式文件。

选择器使用

选择器可对某一个节点进行样式编写,有同学可能会说,我能把我的节点样式应用成功就好,还需要关心它怎么使用吗?其实要的,我们先从css选择器的匹配方案说起,选择器是从右向左进行匹配的,.class ul li a p这样的选择器,会先从全局匹配p标签然后再匹配a标签,依次类推。

所以第一个问题就是我们一定要避免选择器的嵌套过深,因为很耗费性能。假如可以使用ID匹配到唯一的元素就不用使用其他的选择器了。也正是因为选择器的这种匹配规则,使得元素更高效的匹配,也是经过长期的验证得来的结论。最后我们应该更加注意样式的继承,避免多次编写重复样式,所谓少用组合,多用继承原则。

近年来出现的css预处理器可以有效地提高样式的编写,使用一种面向对象的写法,更大程度对样式代码进行复用,有stylus、scss、less等,读者可以自行去官网了解。

编码风格

样式风格:关于css的编码风格也是因人而异,一般来说我们应该使用多行的写法,因为这样可读性就更高。假如样式代码写在一行,难免造成阅读困难的情况。后期我们进行项目发布的时候可以进行对代码的压缩。

id/class:id选择器一般使用在全局唯一的元素节点上面,如果确定元素节点唯一的情况下我们就可以使用,但是假如元素节点不唯一,那么就推荐使用class。

05 高质量的行为代码



良好习惯

因为项目涉及到多人开发,每个人自己使用的变量应该自己来维护,这样可以有效避免代码冲突,覆盖正常的代码等。所以我们应该禁止直接在全局的作用域下进行代码的编写,这样很容易对别人的项目模块造成影响。那么我们的避免的方法有哪些呢?

  • 团队合作避免冲突

我们把自己的代码写在一个匿名函数里面,如(function(){})(),这样代码里面的变量就不会是全局的了,而是属于这个函数的内部变量,不会对他人的代码造成影响。用匿名的方式把代码包裹起来,可以有效控制全局变量,避免冲突隐患。

  • 统一入口

我们还可以给函数一个统一的入口加载文件,可以选择函数入口为init,这样所有初始化的操作都会在这里进行。通过这样我们就可以模拟DOMReady的事件了。

  • CSS放在头部,JS放在底部

这个操作应该是每个人都应该遵循的做法,这样更有利于浏览器页面的加载优化,减少页面空白的时间,提升用户体验。

JS分层

最后前端到底应该怎么学才好?

如果你打算靠自己摸索自学,那么你首先要了解学习前端的基本大纲,这是你将要学习的主要内容,理解以及掌握好这些内容,便可以找到一份初级的前端开发工作。你还需要有一套完整的前端学习教程,作为初学者最好的方式就是看视频教程学习,初学者容易理解接受。

不要选择买书学习,这样的方式没有几个人能学会,基本都是看不下去书,也看不懂书。如果喜欢看书的学弟,可以买一些经典的书籍作为辅助即可,主要还是以看教程为主。每天抽出固定几个小时学习,做好长期学习的准备。学习编程并不是每天光看视频,你学习编程最重要的目的是为了编写软件产品,提供给大众使用,所以用手写出代码实现功能才是我们要做的事情。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-gD8S1hO2-1713592531677)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值