在當今快節奏的開發世界中,快速交付解決方案至關重要。然而,在程式碼品質上偷工減料通常會導致錯誤、安全漏洞和不可維護的程式碼。程式碼道德在產生功能性程式碼和可維護、高效且安全的程式碼方面發揮關鍵作用。讓我們透過範例探討 JavaScript 開發中的關鍵道德原則以及它們如何提高程式碼品質。
範例:當有更清晰的替代方案時,避免使用簡潔或複雜的結構。
壞例子
![圖片描述](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zkyc8dla0ty0kgpn5vcu.png)
好例子
const doubleArray = arr =>; arr.map(x => x * 2); // 清晰易懂
在此範例中,位元運算子
壞例子
讓計數 = 0; // 在全域範圍內宣告
函數增量() {
計數;
}
好例子
(() => {
讓計數= 0; // 封裝在閉包中
函數增量() {
計數;
}
})();
透過將程式碼包裝在 IIFE(立即呼叫函數表達式)中,count 變數的作用域是本地的,避免了與程式碼其他部分的潛在衝突。
壞例子
函數 getUser(id) {
return fetch(/user/${id}).then(res => res.json()); // 沒有錯誤處理
}
好例子
非同步函數 getUser(id) {
嘗試{
const res = wait fetch(/user/${id});
if (!res.ok) {
拋出新錯誤(無法取得使用者:${res.statusText});
}
返回等待 res.json();
} catch (錯誤) {
console.error('取得使用者時發生錯誤:', error);
返回空;
}
}
透過新增錯誤處理,您不僅可以防止應用程式無提示地失敗,還可以提供有關出錯原因的有意義的資訊。
壞例子
函數 processOrder(order) {
// 驗證訂單的代碼
// 計算總計的代碼
// 處理付款的代碼
// 產生收據的代碼
}
好例子
`function validateOrder(order) { /* ... / }
functioncalculateTotal(order) { / ... / }
function processPayment( paymentInfo) { / ... / }
functiongenerateReceipt(order) { / ... */ }
函數 processOrder(order) {
if (!validateOrder(order)) return;
const Total =calculateTotal(order);
processPayment(order. paymentInfo);
產生收據(訂單);
}`
這種模組化方法使您的程式碼更易於理解、測試和維護。每個職能都有單一職責,遵循單一職責原則 (SRP)。
壞例子
函數 processUser(使用者) {
console.log(處理使用者:${JSON.stringify(user)}); // 暴露敏感資料
// ...
}
好例子
函數 processUser(使用者) {
console.log(處理使用者:${user.id}); // 僅記錄必要的詳細資訊
// ...
}
在這種情況下,不良範例會在控制台中暴露潛在的敏感使用者資訊。好的範例僅記錄必要的內容,遵循資料隱私最佳實務。
壞例子
`函數 createAdmin(name, 角色) {
return { 名稱, 角色, 權限: ['創建', '讀取', '更新', '刪除'] };
}
function createEditor(名稱, 角色) {
return { 名稱, 角色, 權限: ['創建', '讀取'] };
}`
好例子
`函數createUser(名稱、角色、權限) {
return { 名稱、角色、權限 };
}
const admin = createUser('Alice', 'Admin', ['建立', '讀取', '更新', '刪除']);
const editor = createUser('Bob', 'Editor', ['create', 'read']);`
遵循 DRY 原則,您可以消除程式碼重複,從而減少未來更新中出現不一致或錯誤的機會。
壞例子
函數calculateAPR(金額, 利率) {
退貨金額*比率/100/12; // 沒有解釋公式代表什麼
}
好例子
`/**
壞例子
// 沒有測試覆蓋
好例子
// 使用 Jest 或 Mocha
等測試框架
test('calculateAPR 應回傳正確的 APR', () => {
Expect(calculateAPR(1000, 12)).toBe(10);
});
透過編寫測試,您可以確保您的程式碼可靠、可驗證且易於自信地重構。
考慮使用 ESLint 或 Prettier 等工具來強製程式碼的一致性。
ESLint 設定範例
{
"extends": "eslint:推薦",
「env」:{
「瀏覽器」:正確,
「es6」:正確
},
「規則」:{
"縮排": ["錯誤", 2],
"quotes": ["錯誤", "單一"],
“半”:[“錯誤”,“總是”]
}
}
透過遵循風格指南,您的程式碼庫將保持一致的結構,使其他人更容易貢獻和審查程式碼。
結論
符合道德的 JavaScript 編碼實踐可確保您的程式碼不僅實用,而且可維護、安全且面向未來。透過專注於清晰度、模組化、錯誤處理和資料隱私,您可以建立一個尊重其他開發人員和最終用戶的程式碼庫。將這些實踐納入您的工作流程將幫助您編寫更乾淨、更可靠的程式碼並創造更健康的開發環境。
以上是JavaScript 程式碼道德:寫出乾淨、道德的程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!