国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

淺談JavaScript 代碼簡潔之道

2024-05-06 15:43:22
字體:
來源:轉載
供稿:網友

測試代碼質量的唯一方式:別人看你代碼時說 f * k 的次數。

代碼質量與其整潔度成正比。干凈的代碼,既在質量上較為可靠,也為后期維護、升級奠定了良好基礎。

本文并不是代碼風格指南,而是關于代碼的可讀性、復用性、擴展性探討。

我們將從幾個方面展開討論:

變量 函數 對象和數據結構 類 SOLID 測試 異步 錯誤處理 代碼風格 注釋

變量

用有意義且常用的單詞命名變量

Bad:

const yyyymmdstr = moment().format('YYYY/MM/DD');

Good:

const currentDate = moment().format('YYYY/MM/DD');

保持統一

可能同一個項目對于獲取用戶信息,會有三個不一樣的命名。應該保持統一,如果你不知道該如何取名,可以去 codelf 搜索,看別人是怎么取名的。

Bad:

 getUserInfo(); getClientData(); getCustomerRecord();

Good:

getUser()

每個常量都該命名

可以用buddy.js 或者ESLint 檢測代碼中未命名的常量。

Bad:

// 三個月之后你還能知道 86400000 是什么嗎?setTimeout(blastOff, 86400000);

Good:

const MILLISECOND_IN_A_DAY = 86400000;setTimeout(blastOff, MILLISECOND_IN_A_DAY);

可描述

通過一個變量生成了一個新變量,也需要為這個新變量命名,也就是說每個變量當你看到他第一眼你就知道他是干什么的。

Bad:

const ADDRESS = 'One Infinite Loop, Cupertino 95014';const CITY_ZIP_CODE_REGEX = /^[^,/]+[,/s]+(.+?)s*(d{5})?$/;saveCityZipCode(ADDRESS.match(CITY_ZIP_CODE_REGEX)[1],  ADDRESS.match(CITY_ZIP_CODE_REGEX)[2]);

Good:

const ADDRESS = 'One Infinite Loop, Cupertino 95014';const CITY_ZIP_CODE_REGEX = /^[^,/]+[,/s]+(.+?)s*(d{5})?$/;const [, city, zipCode] = ADDRESS.match(CITY_ZIP_CODE_REGEX) || [];saveCityZipCode(city, zipCode);

直接了當

Bad:

const locations = ['Austin', 'New York', 'San Francisco'];locations.forEach((l) => { doStuff(); doSomeOtherStuff(); // ... // ... // ... // 需要看其他代碼才能確定 'l' 是干什么的。 dispatch(l);});

Good:

const locations = ['Austin', 'New York', 'San Francisco'];locations.forEach((location) => { doStuff(); doSomeOtherStuff(); // ... // ... // ... dispatch(location);});

避免無意義的前綴

如果創建了一個對象 car,就沒有必要把它的顏色命名為 carColor。

Bad:

 const car = { carMake: 'Honda', carModel: 'Accord', carColor: 'Blue' }; function paintCar(car) { car.carColor = 'Red'; }            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 靖州| 毕节市| 金湖县| 静海县| 台东县| 丹东市| 洪泽县| 揭阳市| 呼伦贝尔市| 永康市| 福海县| 财经| 黎川县| 峨边| 治县。| 沿河| 吉安市| 芜湖县| 罗田县| 祥云县| 湘阴县| 沙坪坝区| 甘肃省| 金门县| 鄂温| 汝南县| 库伦旗| 大同市| 孟州市| 马龙县| 阜城县| 泽库县| 玛多县| 乌海市| 开化县| 新津县| 集贤县| 托里县| 陵川县| 镇巴县| 桦川县|