JavaScript コード倫理: クリーンで倫理的なコードを書く

Barbara Streisand
リリース: 2024-10-26 04:26:02
オリジナル
632 人が閲覧しました

JavaScript Code Ethics: Writing Clean, Ethical Code

今日のペースの速い開発の世界では、ソリューションを迅速に提供することが不可欠です。ただし、コードの品質を手抜きすると、バグ、セキュリティの脆弱性、保守不能なコードが発生することがよくあります。コード倫理は、機能的なコードだけでなく、保守可能で効率的かつ安全なコードを作成する上で極めて重要な役割を果たします。 JavaScript 開発における重要な倫理原則と、それによってコードの品質がどのように向上するかを例を用いて見てみましょう。

  1. 賢さよりも明晰さ 倫理原則: 「賢い」ソリューションや複雑なソリューションよりも、コードの読みやすさとシンプルさを優先します。コードは書かれるよりも読まれることが多くなります。長期的なメンテナンスには、分かりやすさが重要です。

例: より明確な代替手段が存在する場合は、簡潔な構成や複雑な構成の使用を避けてください。

悪い例


![画像の説明](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zkyc8dla0ty0kgpn5vcu.png)

良い例
const doubleArray = arr => arr.map(x => x * 2); // 明確でわかりやすい
この例では、ビット演算子 <<動作しますが、単純な乗算を使用する場合よりも読みにくくなります。明確さを選択すると、チームや将来の自分がコードを簡単に理解して保守できるようになります。

  1. 地球規模の汚染を回避する 倫理原則: 変数をグローバルに宣言してグローバル スコープを汚染しないようにしてください。これにより、名前の衝突や予期しない動作が発生する可能性があります。

悪い例

カウント = 0 にします。 // グローバルスコープで宣言されています
関数 increment() {
カウント ;
}
良い例

(() => {
カウント = 0 とします。 // クロージャーにカプセル化されます
関数 increment() {
カウント ;
}
})();
IIFE (Immediately Invoked Function Expression) でコードをラップすることにより、count 変数のスコープがローカルに設定され、コードの他の部分との潜在的な競合が回避されます。

  1. エラー処理は慎重に 倫理原則: エラーを適切に処理し、有益なメッセージを提供します。サイレント障害は、予期しない動作につながる可能性があります。

悪い例

関数 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 を返す;
}
}
エラー処理を追加すると、アプリがサイレントに失敗するのを防ぐだけでなく、何が問題だったのかについての意味のある情報も提供されます。

  1. コードをモジュール化する 倫理原則: 大きな関数やファイルを、より小さな再利用可能なモジュールに分割します。これにより、コードの構成、テスト、読みやすさが向上します。

悪い例

関数 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) に従っています。

  1. データプライバシーを尊重する 倫理原則: 機密データは慎重に取り扱います。ログ、コンソール メッセージ、またはパブリック エンドポイント内の不要なデータを公開しないでください。

悪い例

関数 processUser(user) {
console.log(処理中のユーザー: ${JSON.stringify(user)}); // 機密データの公開
// ...
}
良い例

関数 processUser(user) {
console.log(処理中のユーザー: ${user.id}); // 必要な詳細のみをログに記録します
// ...
}
この場合、悪い例により、機密性の高いユーザー情報がコンソールに公開されてしまいます。良い例では、データ プライバシーのベスト プラクティスに従って、必要なものだけをログに記録します。

  1. DRY (同じことを繰り返さない) 原則に従う 倫理原則: コードの重複を避けます。代わりに、繰り返されるロジックを再利用可能な関数に抽象化します。

悪い例

`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 原則に従うことで、コードの重複を排除し、将来の更新で不一致やエラーが発生する可能性を減らします。

  1. コードを文書化する 倫理原則: コードを文書化して、他の開発者 (または将来の自分) に対して意図と思考プロセスが明確であることを確認します。

悪い例

関数 CalculateAPR(金額, レート) {
返金額 * レート / 100 / 12; // 数式が何を表すかについての説明はありません
}
良い例

`/**

  • 毎月の年利を計算します
  • @param {number} amount - 元金の金額
  • @param {number} rate - 年間パーセント率
  • @return {number} - 毎月の APR */ 関数 CalculateAPR(金額, レート) { 返金額 * レート / 100 / 12; // APR の計算式はドキュメントで説明されています }` 適切なドキュメントを作成すると、コードを読む人は誰でも、ロジックをリバース エンジニアリングすることなく、その動作を理解できるようになります。
  1. 単体テストを作成する 倫理原則: 単体テストを作成すると、コードが期待どおりに動作することが保証され、コードの進化に伴うバグの発生を防ぐことができます。

悪い例
// テストカバレッジなし
良い例
// Jest や Mocha などのテスト フレームワークを使用する
test('calculateAPR は正しい APR を返すはずです', () => {
Expect(calculateAPR(1000, 12)).toBe(10);
});
テストを作成することで、コードの信頼性、検証可能性、および自信を持ってリファクタリングが容易であることが保証されます。

  1. コードスタイルガイドを採用する 倫理原則: チームまたはプロジェクト全体で一貫したコーディング スタイルに従います。これによりコラボレーションが向上し、誤解が減ります。

コードの一貫性を確保するには、ESLint や Prettier などのツールの使用を検討してください。

ESLint 構成の例

{
"extends": "eslint:推奨",
"環境": {
"ブラウザ": true、
"es6": true
}、
「ルール」: {
"インデント": ["エラー", 2],
"引用符": ["エラー", "単一"],
"semi": ["エラー", "常に"]
}
}
スタイルガイドに従うことで、コードベースは一貫した構造を維持し、他の人がコードを投稿したりレビューしたりしやすくなります。

結論
倫理的な JavaScript コーディングの実践により、コードが機能するだけでなく、保守性、安全性、将来性も保証されます。明確さ、モジュール性、エラー処理、データ プライバシーに重点を置くことで、他の開発者とエンド ユーザーの両方を尊重するコードベースを作成できます。これらのプラクティスをワークフローに組み込むと、よりクリーンで信頼性の高いコードを作成し、より健全な開発環境を促進することができます。

以上がJavaScript コード倫理: クリーンで倫理的なコードを書くの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!