天天看點

「前端」怎麼開發前端才更優雅

作者:架構思考

本文将帶你調整開發姿勢,先來看以下幾點

  1. 讓公司給你配備三台顯示器,第一台用來看浏覽器效果,第二台用來寫代碼,第三台用來看開發者工具
  2. 讓公司給你配備電競椅,要可以躺下的那種,友善中午睡午覺
  3. 讓公司給你配備獨立辦公室,并且可以抽煙
  4. 要彈性工作時間,前後可彈兩個小時

如果公司都不同意(你不敢說不賴我),那隻好在自己這邊下手了。一些看起來繁瑣的事情,有時反而讓我們輕松。

檔案夾、檔案、變量、函數命名以及CSS選擇器命名

如果你說這個不重要我不會反駁你的,因為每個人有自己的想法。但是有一套自己的命名規範,對在一段時間以後回頭來看代碼有很大的幫助。

檔案夾

在vscode中下載下傳 vscode-icons插件後,一些關鍵詞檔案夾圖示會被替換成特殊圖示,例如:

「前端」怎麼開發前端才更優雅

利用好關鍵詞檔案夾命名(注意不要濫用),會提升你找檔案的速度

不要重複檔案夾功能,意思就是,如果你有這麼一個檔案夾 src\assets\imgs,就不要再建立src\assets\images了。

如果有圖檔沒有放在 src\assets\imgs 而放在了另外的檔案夾,也是不可取的,這樣會導緻圖檔的路徑難以追蹤,如果想對圖檔進一步分類,可以 src\assets\imgs\icons,以此類推,其他類型的檔案也是如此。

如果你想做一個第三方小工具的 js 檔案夾,那麼可以 src\plugins ,自己寫的公共方法,可以建立成src\utils或者src\tools等

注意:

  1. 如果你已經建立了 src\tools ,就不要再建立 src\xxx\tools 了,這樣在清單中看起來很混亂,并且難以追蹤
  2. 不要建立架構中自帶的關鍵詞檔案夾,比如 vue 項目中,不要建立 src\views\home\components ,因為已經有了src\components ,如果想建立home頁專屬的components ,可以建立src\components\home
  3. 避免用檔案格式命名檔案夾,時間長了可能就忘了這個檔案夾的功能,例如 src\utils\json 、src\utils\script
  4. 避免使用短橫線,可以使用下劃線,下劃線不推薦用在開頭或結束
  5. 統一使用大駝峰、小駝峰下劃線命名,不要混用,下劃線命名是相容性比較高的,小駝峰命名是識别性比較強的,大駝峰是比較美觀的
  6. 拼音和英文不要混用,要麼全用英文,要麼全用拼音

檔案

一個檔案夾中的主檔案最好和檔案夾同名,如 src\views\remoteBD\remoteBD.vue ,不要使用 src\views\remoteBD\index.vue 或者 src\views\remoteBD\main.vue

  1. 避免使用短橫線,可以使用下劃線,下劃線不推薦用在開頭或結束
  2. 統一使用大駝峰、小駝峰下劃線命名,不要混用,下劃線命名是相容性比較高的,小駝峰命名是識别性比較強的,大駝峰是比較美觀的
  3. 拼音和英文不要混用,要麼全用英文,要麼全用拼音
  4. 不要以架構項目的關鍵字命名 如 vue.config.js
  5. 不要以簡單的、無意義的字元命名 如:a.png、b.png、topBtnBg.png、innerData.json、config.json、tools.js等,正确命名如:meatInAView.png、meatInBView.png、sendMsgBtnInTopBg.png、foodInnerData.json、foodConfig.json、eatTools.js,看起來長了一些,但是意義更加明确了

做到以上兩個方面,你将擁有一個幹淨整潔、分類明确的檔案樹,恭喜。

變量和函數

見名知意是唯一的要求,千萬不要怕名字長,還有一件事,動詞名詞的前後順序一定要固定,比如:sendMsgToServer,是動詞在前,名詞在後,serverMsgSender就是名詞在前,動詞在後。

這個雖然無傷大雅,但是在日常的閱讀中會稍微增加一點負擔。

變量的命名也不能以簡單的、無意義的字元命名,比如:let data = {}、let str1 = "" 、let newArr = []。改成 let originalData= {}、let msg= "" 、let recArr= [] 更好一點

CSS選擇器

推薦使用less作為預處理器,你可以完全不用學習less,而隻使用它的嵌套功能,更多的功能還需要你在實際開發中探索。

css選擇器命名隻需要見名知意即可,不推薦使用短橫線("-")分類,推薦使用更多的class名來分類,很多人可能習慣

&-xxx這種寫法,但是這種寫法可讀性極差,如果想為某些元素加同樣的樣式,可以令起一個類,比如

.flex{
    display:flex;
}           

這樣,把flex類加到任何元素即可。摒棄了短橫線後,還可以便捷的輕按兩下選中并搜尋。這裡推薦一個vscode插件:CSS Navigation

使用ES6

很多人隻知道es6新文法有 let const、箭頭函數、數組對象解構什麼的,很多小的實用功能卻很少有人用過。

可選鍊操作符

//const name = obj && obj.name;
const name = obj?.name;           

字元串模闆和對象屬性表達式

//let obj = {};
//let index = 1;
//let key = `topic${index}`;
//obj[key] = '話題内容';
let obj = {};
let index = 1;
obj[`topic${index}`] = '話題内容';           

非空判斷

//if(value !== null && value !== undefined && value !== ''){
    //...
//}
if((value??'') !== ''){
  //...
}           

更多實用文法,參見:你會用ES6,那倒是用啊! 、ES6基本全部文法

使用工具(powerToys)

powerToys是微軟開發的一款小工具合集,功能如圖所示

「前端」怎麼開發前端才更優雅

簡直是前端開發必備工具

使用浏覽器插件

浏覽器插件可以幫你完成很多工作,比如接口測試、管理cookie和本地緩存,甚至可以做到自動化流水線,如果你還不會開發浏覽器插件,參見:一文學會浏覽器插件 不要重複造輪子!

另外

學習node.js(或任何一個後端語言)和mysql(或任何一個資料庫)都對前端開發有幫助,至少你應該知道應該把鍋甩給誰,而不是唯唯諾諾不敢說話,個人推薦學習後端語言從node.js(好上手)學起,資料庫從mysql(好上手)學起。這裡推薦一個學習全棧開發的開源項目:Vue-Admin-Xmw-Pro ,後端使用的egg.js(node.js架構)也是好上手的一款,鑽透這個項目,就可以獨立開發一個全棧項目了

學習強類型的語言可能會給你帶來一些好處,但是在前端開發中的效率提升不明顯。比如,一些小型項目如果使用TS開發,隻會徒增負擔和降低效率。是以不用擔心不會TS會影響你的仕途,大部分項目是用不到的。如果希望學一款強類型語言,也不推薦學習TS(TS不能稱之為一門語言,它隻是js的類型檢查工具),可以考慮從java入手,更完整的體驗強類型的語言。

當你掌握了上述内容,你就擁有了打敗80%的人的快速面向業務的能力,加油,前端人。

文章來源:https://www.cnblogs.com/Kay-Larry/p/17010977.html

繼續閱讀