当前位置: 首页 > news >正文

谈项目中如何选择框架和库(FEDAY主题分享总结)

这个两天看了张克军(豆瓣前端专家、前端布道师)在FEDAY的主题分享觉得对中大型项目开发很有帮助所以在这里分享给大家后面会有视频地址。下面介绍重点内容。 这里分享的项目是指公司实际产品开发,协同人数比较多,更加已结果为导向,在规定的时间内产出高质量的产品,我们称之为商业项目。这也是我们前端工程师最基本的职责和价值。 产出商业项目的基本点:

  • 高效高质量的产出产品。
  • 成本和效率变得尤为重要。
  • 迭代周期长,长效性,代码可维护性。

基本前提:成本和效率问题

  • 实现目标的成本和效率
  • 团队协作的成本和效率
  • 后续迭代的成本和效率

表面上看来就是原有工作人员习惯使用原来的工作方法和方式来解决现有问题而非使用新的轮子来解决问题(项目时间紧张,不愿接受新的实物)。拉这车东西是因为轮子的问题,还是路面的问题,还是本身这车东西就很沉重?假设那个给了新轮子的人给的不是一个圆形的或者是一个六边形的情况是什么样的?

我们经常谈论的维度

选择框架我们从这些角度来讨论是没有问题的,我们本身也是很赞同的。但是在不同的项目中不同的维度权重时不一样的!没有统一的原则去解决一个问题!要自身实践来测试!

选择原则

1.妥适性原则 避免过渡实现,暂时用一些,现在还可能用不到,或者用的不多库来满足当前需求。
2.库的选择

  • 缩小依赖范围和向稳定方向依赖
  • 避重就轻、避繁逐简、以简驭繁、避虚就实
  • 可替代性

3.主框架的选择

  • 没有不二法则
  • 拥抱未来
  • 经验价值高
  • 架构上的优势为重

选择的原则 (新手版)

1.妥适性原则
2.库的选择,尽量同时满足以下条件

  • 单一性
  • 普便性
  • 轻量型
  • 依赖少

3.主框架的选择:做足调研和实践,多和老司机交流
4.Code Review 十分必要

自己的代码和库占整体代码的的比重

总结

最后用一张图来总结一下,大家都知道著名导演李安,这个是李安拍摄《比利·林恩的中场战事》的片场,李安导演在选择角色的时候不是说看演员的名气也不是说看演员的长相,而是看到这个人的时候就会在脑中脑补这个人演戏的场景。所以当我们选用各种框架的时候,我们也可以在脑中脑补各种使用场景和方式了! 视频地址分享: v.qq.com/x/page/e055…
有啥问题欢迎在评论区讨论

相关文章:

  • 如何做线段绕着点旋转一定角度的动画
  • python写商品管理练习
  • React组件设计模式(一)
  • 【技能意志矩阵-skill will matrix】工作中究竟是个人能力更重要,还是我们的积极性更能提高我们的业绩?...
  • Kubernetes-架构路线图
  • libevent的入门学习-库的安装【转】
  • swift - UIWebView 和 WKWebView(iOS12 之后替换UIWebView)
  • jmeter聚合报告详解
  • php中的匿名函数和闭包(closure)
  • nginx rewrite only specific servername to https
  • 闭包总结
  • 浅谈k8s cni 插件
  • Python爬虫--- 1.3 BS4库的解析器
  • Intellij IDEA 部署 Spring Boot / Spring Cloud 应用到阿里云
  • 线程之间调用问题
  • 分享的文章《人生如棋》
  • create-react-app做的留言板
  • css布局,左右固定中间自适应实现
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • express.js的介绍及使用
  • java 多线程基础, 我觉得还是有必要看看的
  • js写一个简单的选项卡
  • nginx 配置多 域名 + 多 https
  • text-decoration与color属性
  • 精彩代码 vue.js
  • 来,膜拜下android roadmap,强大的执行力
  • 浅谈Golang中select的用法
  • 硬币翻转问题,区间操作
  • 责任链模式的两种实现
  • ​linux启动进程的方式
  • ​低代码平台的核心价值与优势
  • ​香农与信息论三大定律
  • #define 用法
  • #QT(TCP网络编程-服务端)
  • $$$$GB2312-80区位编码表$$$$
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (八十八)VFL语言初步 - 实现布局
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (十) 初识 Docker file
  • (推荐)叮当——中文语音对话机器人
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .Net FrameWork总结
  • .NET gRPC 和RESTful简单对比
  • .Net Memory Profiler的使用举例
  • .NET Remoting学习笔记(三)信道
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .NET学习全景图
  • .NET中使用Protobuffer 实现序列化和反序列化
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • .考试倒计时43天!来提分啦!