电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

15個簡單的JS編碼標準讓你的代碼更整潔(小結)

瀏覽:111日期:2024-04-30 11:48:53

作者 | Daniel Anderson本文最初發布于 Medium 網站,經原作者授權后翻譯和分享。

編碼標準可以幫助以下方面:

保持代碼一致 易于閱讀和理解 易于維護

下面的編碼標準是我對上述幾點有幫助的看法。

1. 比較時使用 === 代替 ==

這很重要,因為JavaScript是一種動態語言,因此使用==可能會給您帶來意想不到的結果,因為它允許類型不同。Fail:

if (val == 2)

Pass:

if (val === 2)

2. 永遠不要使用 var,使用 let 來代替

使用 let 將有助于避免 JavaScript 中各種 var 引起的作用域問題。Fail:

var myVar = 10;

Pass:

let myVar = 10;

3. 使用 const 代替 let

這阻止了開發人員嘗試更改不應該做的事情,并且確實有助于提高可讀性。Fail:

let VAT_PERCENT = 20;

Pass:

const VAT_PERCENT = 20;

4. 始終使用分號(;)

盡管這在 JavaScript 中是可選的,并不像其它語言一樣需要分號作為語句終止符。但是使用 ; 有助于使代碼保持一致。

Fail:

const VAT_PERCENT = 20;let amount = 10return addVat(amount, vatPercent)

Pass:

const vatPercent = 20;let amount = 10;return addVat(amount, vatPercent);

5. JavaScript中的命名約定

let 應該使用駝峰命名。 const 如果在文件的頂部使用大寫的蛇形命名法。如果不在文件頂部,請使用駝峰命名。 class 應該是帕斯卡命名法:MyClass functions 函數應該是駝峰命名法:myFunction

6. 拼接字符串時使用模板字符串

模板字符串中允許嵌入表達式。Fail:

let fullName = firstName + ' ' + lastName;

Pass:

let fullName = `${firstName} ${lastName}`;

7. 盡可能使用ES6箭頭函數

箭頭函數是編寫函數表達式的更簡潔的語法。Fail:

var multiply = function(a, b) { return a* b;};

Pass:

const multiply = (a, b) => { return a * b};

8. 始終在控制結構周圍使用大括號

所有控制結構都必須使用花括號(例如,if,else,for,do,while等),這樣后期維護時,不容易出錯。Fail:

if (valid) doSomething();if (amount > 100) doSomething();else if(amount > 200) doSomethingElse();

Pass:

if (valid) { doSomething();}if (amount > 100) { doSomething();} else if(amount > 200) { doSomethingElse();}

9. 確保大括號從同一行開始,中間有空格

Fail:

if (myNumber === 0){ doSomething();}

Pass:

if (myNumber === 0) { doSomething();}

10. 嘗試減少嵌套

if 內的 if 會變得混亂并且很難閱讀。有時你可能無法解決問題,但是可以好好卡看看代碼結構,看看是否可以改進。Fail:

if (myNumber > 0) { if (myNumber > 100) { if (!hasDiscountAlready) { return addDiscountPercent(0); } else { return addDiscountPercent(10); } } else if (myNumber > 50) { if (hasDiscountAlready) { return addDiscountPercent(5); } } else { if (!hasDiscountAlready) { return addDiscountPercent(0); } else { return addDiscountPercent(1); } }} else { error();}

Pass:

if (myNumber <= 0) { return error;}if (!hasDiscountAlready) { return addDiscountPercent(0);}if (myNumber > 100) { return addDiscountPercent(10);}if (myNumber > 50) { return addDiscountPercent(5);}return addDiscountPercent(1);

通過上面的示例可以看出,減少嵌套之后,會變得容易閱讀。

11. 盡可能使用默認參數

在 JavaScript 中,如果你在調用函數時沒有傳遞參數,則它的值就是 undefinedFail:

myFunction(a, b) { return a + b;}

Pass:

myFunction(a = 0, b = 0) { return a + b;}

12. `Switch` 語句應使用 `break` 并具有 `default`

我通常會嘗試不使用 switch 語句,但是你確實想使用它,請確保每個條件都 break ,并寫了 defalut。

Fail:

switch (myNumber){ case 10: addDiscountPercent(0); case 20: addDiscountPercent(2); case 30: addDiscountPercent(3);}

Pass:

switch (myNumber){ case 10: addDiscountPercent(0); break; case 20: addDiscountPercent(2); break; case 30: addDiscountPercent(3); break; default: addDiscountPercent(0); break;}

13. 不要使用通配符導入

Fail:

import * as Foo from ’./Foo’;

Pass:

import Foo from ’./Foo’;

14. 使用布爾值的快捷方式Fail:

if (isValid === true)if (isValid === false)

Pass:

if (isValid)if (!isValid)

15. 嘗試避免不必要的三元語句

Fail:

const boo = a ? a : b;

Pass:

const boo = a || b;

總結

任何語言的編碼標準都可以真正幫助提高應用程序的可讀性和可維護性。如果你在團隊中工作,那么一件很難的事情就是強制執行編碼標準。這里有一些建議可以幫助你:

代碼審查,逐行Pass代碼。 整理或使用某種代碼分析器 創建新內容時,讓你們的一位高級開發人員初始化,其他開發人員可以使用該代碼作為指導。

原文鏈接: https://medium.com/javascript-in-plain-english/19-simple-javascript-coding-standards-to-keep-your-code-clean-7422d6f9bc0

到此這篇關于15個簡單的JS編碼標準讓你的代碼更整潔(小結)的文章就介紹到這了,更多相關JS編碼標準內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 打包箱房_集成房屋-山东佳一集成房屋有限公司 | 政府园区专业委托招商平台_助力企业选址项目快速落地_东方龙商务集团 | 丽陂特官网_手机信号屏蔽器_Wifi信号干扰器厂家_学校考场工厂会议室屏蔽仪 | 华溶溶出仪-Memmert稳定箱-上海协烁仪器科技有限公司 | 激光内雕_led玻璃_发光玻璃_内雕玻璃_导光玻璃-石家庄明晨三维科技有限公司 激光内雕-内雕玻璃-发光玻璃 | 法兰连接型电磁流量计-蒸汽孔板节流装置流量计-北京凯安达仪器仪表有限公司 | 抓斗式清污机|螺杆式|卷扬式启闭机|底轴驱动钢坝|污水处理闸门-方源水利机械 | 校园文化空间设计-数字化|中医文化空间设计-党建|法治廉政主题文化空间施工-山东锐尚文化传播公司 | 青岛美佳乐清洁工程有限公司|青岛油烟管道清洗|酒店|企事业单位|学校工厂厨房|青岛油烟管道清洗 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | TYPE-C厂家|TYPE-C接口|TYPE-C防水母座|TYPE-C贴片-深圳步步精 | 定做大型恒温循环水浴槽-工业用不锈钢恒温水箱-大容量低温恒温水槽-常州精达仪器 | 二维运动混料机,加热型混料机,干粉混料机-南京腾阳干燥设备厂 | 东莞注册公司-代办营业执照-东莞公司注册代理记账-极刻财税 | 合肥地磅_合肥数控切割机_安徽地磅厂家_合肥世佳电工设备有限公司 | 垃圾清运公司_环卫保洁公司_市政道路保洁公司-华富环境 | U拓留学雅思一站式服务中心_留学申请_雅思托福培训 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | 有机废气处理-rto焚烧炉-催化燃烧设备-VOC冷凝回收装置-三梯环境 | 电机铸铝配件_汽车压铸铝合金件_发动机压铸件_青岛颖圣赫机械有限公司 | 香港新时代国际美容美发化妆美甲培训学校-26年培训经验,值得信赖! | 天津云仓-天津仓储物流-天津云仓一件代发-顺东云仓 | 泰国试管婴儿_泰国第三代试管婴儿费用|成功率|医院—新生代海外医疗 | 温泉机设备|温泉小镇规划设计|碳酸泉设备 - 大连连邦温泉科技 | 防火阀、排烟防火阀、电动防火阀产品生产销售商-德州凯亿空调设备有限公司 | BAUER减速机|ROSSI-MERSEN熔断器-APTECH调压阀-上海爱泽工业设备有限公司 | 粒米特测控技术(上海)有限公司-测功机_减速机测试台_电机测试台 | 选矿设备-新型重选设备-金属矿尾矿重选-青州冠诚重工机械有限公司 | 称重传感器,测力传感器,拉压力传感器,压力变送器,扭矩传感器,南京凯基特电气有限公司 | 【孔氏陶粒】建筑回填陶粒-南京/合肥/武汉/郑州/重庆/成都/杭州陶粒厂家 | 耐酸泵,耐腐蚀真空泵,耐酸真空泵-淄博华舜耐腐蚀真空泵有限公司 精密模具-双色注塑模具加工-深圳铭洋宇通 | 一氧化氮泄露报警器,二甲苯浓度超标报警器-郑州汇瑞埔电子技术有限公司 | 桁架机器人_桁架机械手_上下料机械手_数控车床机械手-苏州清智科技装备制造有限公司 | 雨水收集系统厂家-雨水收集利用-模块雨水收集池-徐州博智环保科技有限公司 | 东莞海恒试验仪器设备有限公司 | 安徽合肥项目申报咨询公司_安徽合肥高新企业项目申报_安徽省科技项目申报代理 | 电动卫生级调节阀,电动防爆球阀,电动软密封蝶阀,气动高压球阀,气动对夹蝶阀,气动V型调节球阀-上海川沪阀门有限公司 | 运动木地板价格,篮球馆体育运动木地板生产厂家_欧氏地板 | 洗石机-移动滚筒式,振动,螺旋,洗矿机-青州冠诚重工机械有限公司 | 电缆接头_防水接头_电缆防水接头 - 乐清市新豪电气有限公司 | 国际线缆连接网 - 连接器_线缆线束加工行业门户网站 | 手持式线材张力计-套帽式风量罩-深圳市欧亚精密仪器有限公司 |