我对前端工程化的理解

因为接触前端的时间比较晚,所以许多朋友也有与我相似的经历。

在我的个人经历中,以前的课程项目并没有很好的去考虑可能影响维护成本和维护效率的因素。

在我寒假第一次团队合作期间,体会到了前端工程化思想的重要性。

在近期结业项目的分工合作中,由于技术栈是react+ts的原因,我负责给项目修ui。其中,一个团队大佬负责canvas轮子的搭建,另外几位是负责ui的主力队员。而我们团队成员提出频率最高的词就是熟悉项目结构。对于我,没有多少项目经验,以前在学校里的项目都是单核状态,所以并没有什么熟悉不熟悉项目结构的情况,也并没有考虑到安全,并发,多端,适配等多个场景下的问题。结合这段和蓝色空间大佬合作的经历,以下总结了我对前端工程化的理解:

什么是前端工程化

在我的理解上,前端工程化是一种工程化的思想,而并不是一种技术手段。前端工程化的目标就是让前端项目,更利于团队的协作,解耦团队的分工,提高团队的开发效率。对于后期,更利于前端项目的维护。

对于解藕团队的分工,可以用"低耦合,高内聚"来形容,我觉得这句短语并不只是狭隘的适用于代码结构,还适用于团队的分工与协作。在我的合作过程中,体会最深的一点就是,当造轮子的那个同学将已造好的库接入项目后,整个项目就充满了“活力”,什么是活力?在此我解释说明一下,因为我们的项目是数据结构与可视化平台,因此,在接入库函数即在能调用接口之前,我们的项目前端页面是静态的ui页面。接入之后,就各种“活力”。我觉得,这在一定程度上,体现了“低耦合,高内聚”的特点,团队成员造轮子这块和其他方面是相对独立的。但当在做接入任务的时候,这又体现了高内聚的特点。

而对于前端项目的维护,我的理解是,项目的结构需要清晰,利于团队的理解,语义应该要明确,因为并不是给个人看的。如何写出健壮的代码也是维护的一个因素。同时,项目应当配有文档,便于使用者理解以及团队的后期维护。

什么是模块化和组件化

对于这一方面,我的理解是,模块化和组件化开发只是前端工程化思想下的具体方法论。

模块化

这里以我使用过的commonjs为例,在我的印象里,一个js文件就是一个模块,这个模块定义了一个具体业务的处理逻辑的多组方法。每个方法实现一个具体的操作,将这些操作组合起来实现一个具体的业务功能。众所周知,commonjs是运行时加载,输出的只是值的拷贝,因此,内部的变化影响不到外部。那么,模块与模块之间的耦合度就得到了降低。

组件化

由于接触vue的时间比较短,这里谈谈我目前对vue组件化开发的理解。

一个页面中可与用户交互的区域或可视区域可以看成是一个组件。组件与组件之间是相互独立的。而页面只是组件的一个容器。vue为什么要有组件这样一个概念,那么,现在设想有这么一个场景,当你隔了很久的一段时间发现了你的项目中出现了bug,而且知道是哪一个可视区域出的交互bug,那么,如果你不是基于组件化开发的话,会怎么快速的去找出错误位置呢。我认为,使用组件化开发有两个好处,第一个好处是复用,一个组件可以在多个方面复用,脱离多次ctrl+c,ctrl+v。第二个好处是分而治之的思想,基于组件化的开发方式,你可以针对某一视区进行特定的开发,视区与视区之间在布局上是相对独立的,且在开发上也是相对独立的。

我对前端工程化的理解相关推荐

  1. 谈谈对前端工程化的理解

    什么是前端工程化? 工程化是一种思想,而不是某种技术.其主要目的为了提高效率和降低成本,即提高开发过程中的开发效率,减少不必要的重复工作时间等 栗子 要盖一栋大楼,假如我们不进行工程化的考量那就是一上 ...

  2. 前端类名优秀命名例子_这是一篇需要花费你15分钟阅读的干货!浅谈前端工程化...

    01前端工程化的背景 随着业务的扩展.业务需求更加复杂.项目团队的壮大以及项目的增多等.制定一套适用于团队的前端工程化方案很有必要. 02前端工程化是什么 前端工程化是一个很广泛的话题.涉及的技术与解 ...

  3. 前端工程化实践总结 | QQ音乐商业化Web团队

    蓝字关注,回复"加群"加入前端技术群 与大家一起成长 | 导语本文主要介绍在前端工程化的一些探索和实践,结合移动端的基础库重构和UI组件库开发这两个项目详细介绍工程化方案 . 随着 ...

  4. 什么是软件工程化?什么是“前端工程化“?

    软件工程是一门研究如何用系统化.规范化.数量化等工程原则和方法去进行软件的开发和维护的学科. 软件工程包括两方面内容:软件开发技术和软件项目管理. 软件开发技术包括软件开发方法学.软件工具和软件工程环 ...

  5. 【CSDN软件工程师能力认证学习精选】 什么是前端工程化?

    CSDN软件工程师能力认证(以下简称C系列认证)是由中国软件开发者网CSDN制定并推出的一个能力认证标准.C系列认证历经近一年的实际线下调研.考察.迭代.测试,并梳理出软件工程师开发过程中所需的各项技 ...

  6. 开篇:到底什么是前端工程化?

    前端工程化是现代前端的必备技能 Web 前端这几年进化速度之快让人咂舌.很多前端工程师都不禁吐槽"学不动了".如今已经不是 HTML.CSS.JS 前端三剑客仗剑走天下的时代了. ...

  7. 「前端工程化」该怎么理解?

    大家好,我是若川.今天分享一篇「前端工程化」的好文.非广告,请放心阅读.可点击下方卡片关注我,或者查看系列文章.今天发文比较晚,以往都是定时早上7:30发文,也不知道是不是有点早. 一.什么是前端工程 ...

  8. 对前端工程化、模块化、组件化开发的理解

    参考理解一: 提到前端往往很多人的映像就是入门简单,HTML.CSS加一起一个星期基本上就能大概上手,JS难一点但也能很快写一些简单的小效果,在网上随便一搜索各种特效代码随意用,一个新手前端也能在很短 ...

  9. 前端工程化详解——理解与实践前端工程化

    前言: 前端工程化一直是一个老生常谈的问题,不管是面试还是我们在公司做基建都会经常提到前端工程化,那么为什么经常会说到前端工程化,并没有听过后端工程化.Java工程化或者Python工程化呢?我们理解 ...

最新文章

  1. 人工智能:一种现代方法汇总
  2. php 等5秒钟继续,android – 如何每5秒钟继续请求一个页面而不是杀死电池?
  3. C++kruskals算法生成最小协议树(附完整源码)
  4. php satellite_object_to_string,php object如何转string
  5. js下拉 selenium_selenium 难定位元素,时间插件,下拉框定位,string
  6. java编程double相乘_浅谈Java double 相乘的结果偏差小问题
  7. Excel有哪些需要熟练掌握而很多人不会的技能!
  8. 使用POI生成Excel文件,可以自动调整excel列宽
  9. Oracle数据库 【SYNONYM 同义词 シノニム】
  10. c ++中字符串长度的_C ++中的字符串长度
  11. 17. meta http-equiv 属性
  12. 汤家凤:九月前强化复习结束不了怎么办?
  13. LayerCAM:Exploring Hierarchical Class Activation Maps for Localization
  14. 泛泰 A870 4.1.2 刷第三方专用Recovery合集
  15. Docker入门实战看这篇就够了(最新详细以及踩过的坑)
  16. 2021SC@SDUSC山东大学软件学院软件工程应用与实践--Ebiten代码分析 源码分析(三)
  17. IT零起点转FICO学习路线(转)
  18. 版权变更有哪些流程?
  19. Codeforces 1110D Jongmah dp
  20. 【C++】严重性代码说明项目文件行错误

热门文章

  1. 安卓多媒体API——Vitamio框架
  2. 【C语言】分段函数求值 控制输出格式 float精确到小数点后几位
  3. 苏州迅芯微电子 招聘FPGA开发工程师
  4. windows下载redis、windows安装redis、windows启动redis
  5. Linux——跳板机,堡垒机介绍
  6. CSAPP:计算机基本结构与CPU内部构造
  7. Qt--玩转Excel
  8. 2020年期末计算机考试主观题,2020年法考主观题是机考吗
  9. 多变量高斯分布的KL散度
  10. 优秀的项目经理是怎样练成的?看完这9条自我修养,你也可以变优秀