前端工程師?!

糟糕的前端工程師:前端

  一、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 的計算機科學(內存管理、單進程特性、垃圾回收算法、定時器、做用域、提高以及設計模式)。瀏覽器

相關文章
相關標籤/搜索