前端工程师?!

糟糕的前端工程师:前端

  一、JavaScript 类库乱用,对 JavaScript 自己并不了解,什么地方都用 jQuery;
  二、滥用 JavaScript 插件,看都不看看就把别人的代码拿过来用,好比说;
  三、不看需求,不作任何的比较和测试,就把CSS 框架加到项目中,但只用了其中 5% 的功能;
  四、认为添加个 CSS Framework,网站就能够变成“响应式的”,或者响应式就像是一些小做料,随便就能够加入到一个网页应用中;
  五、嘴上喊着“响应式的 Web 设计”,但服务端技术一点都不懂;
  六、编写的 CSS 没有任何规范标准,不使用任何预处理器,也没有最佳实践。CSS 代码中充满了过分使用的选择器、ID、神奇的数字以及 !important;
  七、不关心代码的性能和内存泄露(什么是真正的内存泄露也不清楚),不会对代码进行性能测试;
  八、对产品没有任何的衡量指标,或者把“在个人电脑/浏览器/移动设备上能够工做”为指标;
  九、忽视30年的软件工程实践,毫无章法的开发软件。算法


顶级前端工程师须要具有的经验和最佳实践:设计模式

  一、了解 DNS 解析,充分利用 CDN,使用多个域名来完成资源的请求以缩短加载时间;
  二、设置 HTTP Headers(Expires, Cache-Control, If-Modified-Since);
  三、遵循 Steve Souders 给出的所有规则(High Performance Websites)
  四、知道如何解决 PageSpeed、YSlow、Chrome Dev Tools Audit、Chrome Dev Tools Timeline 显示的全部问题;
  五、知道什么任务该放在服务端,什么任务该放在客户端;
  六、知道使用缓存,DNS 预取和资源预加载技巧;
  七、精通 JavaScript,知道什么时候本身写什么时候借组别人的框架或代码,优劣明辨;
  八、熟练使用现代 MVC JavaScript 框架(例如 AngularJS EmberJS React 等),图形库(D三、SnapSVG 等),DOM 操做类库(jQuery、Zepto 等),惰性加载或者模块管理类库(例如 RequireJS、CommonJS 等),任务调用工具(例如 Grunt Gulp 等),包管理工具(Bower Componentjs)以及测试工具(Protractor、Selenium 等);
  九、掌握图片的格式,每种格式的优势,适用的场景;知道图片优化技巧以及加载策略(雪碧图、懒加载、缓存刷新以及 PNG 交错);
  十、熟悉 CSS 标准、最新的转换工具积极策略规范(好比 BEM、SMACSS、OOCSS 等);
  十一、JavaScript 的计算机科学(内存管理、单进程特性、垃圾回收算法、定时器、做用域、提高以及设计模式)。浏览器

相关文章
相关标签/搜索