今日のペースの速い開発の世界では、ソリューションを迅速に提供することが不可欠です。ただし、コードの品質を手抜きすると、バグ、セキュリティの脆弱性、保守不能なコードが発生することがよくあります。コード倫理は、機能的なコードだけでなく、保守可能で効率的かつ安全なコードを作成する上で極めて重要な役割を果たします。 JavaScript 開発における重要な倫理原則と、それによってコードの品質がどのように向上するかを例を用いて見てみましょう。
例: より明確な代替手段が存在する場合は、簡潔な構成や複雑な構成の使用を避けてください。
悪い例
![画像の説明](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zkyc8dla0ty0kgpn5vcu.png)
良い例
const doubleArray = arr => arr.map(x => x * 2); // 明確でわかりやすい
この例では、ビット演算子 <<動作しますが、単純な乗算を使用する場合よりも読みにくくなります。明確さを選択すると、チームや将来の自分がコードを簡単に理解して保守できるようになります。
悪い例
カウント = 0 にします。 // グローバルスコープで宣言されています
関数 increment() {
カウント ;
}
良い例
(() => {
カウント = 0 とします。 // クロージャーにカプセル化されます
関数 increment() {
カウント ;
}
})();
IIFE (Immediately Invoked Function Expression) でコードをラップすることにより、count 変数のスコープがローカルに設定され、コードの他の部分との潜在的な競合が回避されます。
悪い例
関数 getUser(id) {
return fetch(/user/${id}).then(res => res.json()); // エラー処理なし
}
良い例
非同期関数 getUser(id) {
{
を試してください
const res = await fetch(/user/${id});
if (!res.ok) {
throw new Error(ユーザーの取得に失敗しました: ${res.statusText});
}
return await res.json();
} キャッチ (エラー) {
console.error('ユーザー取得エラー:', error);
null を返す;
}
}
エラー処理を追加すると、アプリがサイレントに失敗するのを防ぐだけでなく、何が問題だったのかについての意味のある情報も提供されます。
悪い例
関数 processOrder(order) {
// 注文を検証するコード
// 合計を計算するコード
// 支払いを処理するコード
// レシートを生成するコード
}
良い例
`function validateOrder(order) { /* ... / }
function CalculateTotal(order) { / ... / }
function processPayment(paymentInfo) { / ... / }
functiongenerateReceipt(order) { / ... */ }
関数 processOrder(order) {
if (!validateOrder(order)) return;
const total = CalculateTotal(order);
processPayment(order.paymentInfo);
generateReceipt(order);
}`
このモジュール式アプローチにより、コードの理解、テスト、保守が容易になります。各機能には単一の責任があり、単一責任原則 (SRP) に従っています。
悪い例
関数 processUser(user) {
console.log(処理中のユーザー: ${JSON.stringify(user)}); // 機密データの公開
// ...
}
良い例
関数 processUser(user) {
console.log(処理中のユーザー: ${user.id}); // 必要な詳細のみをログに記録します
// ...
}
この場合、悪い例により、機密性の高いユーザー情報がコンソールに公開されてしまいます。良い例では、データ プライバシーのベスト プラクティスに従って、必要なものだけをログに記録します。
悪い例
`function createAdmin(name, role) {
return { 名前、役割、権限: ['作成'、'読み取り'、'更新'、'削除'] };
}
function createEditor(名前, 役割) {
return { 名前、役割、権限: ['作成', '読み取り'] };
}`
良い例
`function createUser(名前、役割、権限) {
return { 名前、役割、権限 };
}
const admin = createUser('Alice', 'Admin', ['create', 'read', 'update', 'delete']);
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:推奨",
"環境": {
"ブラウザ": true、
"es6": true
}、
「ルール」: {
"インデント": ["エラー", 2],
"引用符": ["エラー", "単一"],
"semi": ["エラー", "常に"]
}
}
スタイルガイドに従うことで、コードベースは一貫した構造を維持し、他の人がコードを投稿したりレビューしたりしやすくなります。
結論
倫理的な JavaScript コーディングの実践により、コードが機能するだけでなく、保守性、安全性、将来性も保証されます。明確さ、モジュール性、エラー処理、データ プライバシーに重点を置くことで、他の開発者とエンド ユーザーの両方を尊重するコードベースを作成できます。これらのプラクティスをワークフローに組み込むと、よりクリーンで信頼性の高いコードを作成し、より健全な開発環境を促進することができます。
以上がJavaScript コード倫理: クリーンで倫理的なコードを書くの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。