ホームページ > ウェブフロントエンド > jsチュートリアル > コードをよりクリーンにするためのヒントをいくつか紹介します。

コードをよりクリーンにするためのヒントをいくつか紹介します。

Linda Hamilton
リリース: 2025-01-01 03:18:09
オリジナル
903 人が閲覧しました

Some tips to help make the code cleaner.

ロバート C. マーティン (ボブおじさん) による 『The Clean Coder: A Code of Conduct for Professional Programmers』 の原則を組み込みます。この本は、クリーンで保守可能なコードを作成し、有能なソフトウェア エンジニアになるためのプロフェッショナリズム、規律、実践を強調しています。以下は、2025年にフロントエンド開発をマスターするために調整された改訂された包括的なガイドであり、The Clean Coderの教えを組み込んでいます:


1.プロフェッショナリズム: 規律を持ったコーディング

The Clean Coder の本質はプロフェッショナリズムを中心に展開しており、それはフロントエンド開発者としてのコーディング方法に直接当てはまります。

1.1.自分のコードには責任を持ちましょう

  • コードを所有する: バグ、エラー、要件の欠落に対する責任を受け入れます。何か問題が発生した場合は、すぐに修正し、そこから学びましょう。
  • 明確さを求める: 要件や設計が明確でない場合は、仮定に基づいて進めないでください。代わりに、関係者と協力して調整を確実に行ってください。

1.2.誇りに思うコードを書いてください

職人の考え方を取り入れましょう。提供するコードには、パフォーマンス、読みやすさ、保守性のバランスを考慮しながら、最善の努力が反映されている必要があります。


2.コードの可読性: 書くようにコードを作成

ボブおじさんは次の原則を強調します。「あなたのコードはあなたの工芸品です。」 コードは、他の人 (そして将来のあなた) が簡単に読んで理解できるように書かれるべきです。

2.1.賢さよりも単純さ

過度に巧妙なコードや不可解なコードの作成は避けてください。シンプルで明確で退屈なコードは、チームメイトを混乱させる「賢い」コードよりも優れていることがよくあります。

代わりに:

const d = (x) => x % 2 ? 'odd' : 'even'; // Confusing intent
ログイン後にコピー
ログイン後にコピー

これを実行します:

const getOddOrEven = (number) => number % 2 === 0 ? 'even' : 'odd';
ログイン後にコピー
ログイン後にコピー

2.2.命名が重要

  • 変数名と関数名は、その目的を明確に説明する必要があります。
  • 関数 (fetchMovies、calculateTotal) には動詞を使用し、変数 (userList、movieDetails) には名詞を使用します。

2.3.メソッドと関数を小さく保つ

関数は 1 つのことと 1 つのことを適切に実行する必要があります。ボブおじさんは、可能な限り関数をコード行 5 ~ 10 行に制限することをお勧めします。

悪い:

function renderMovieCard(movie) {
  // fetch data, format, render JSX in one place
}
ログイン後にコピー
ログイン後にコピー

良い:

これを fetchMovieDetails、formatMovieData、renderMovieCard などの複数の関数に分割します。


3.懸念の分離 (単一責任の原則)

すべてのコードには、単一の明確な目的がある必要があります。

3.1.コンポーネント、ロジック、スタイル

  • コンポーネント: レンダリング/UI のみを処理します。
  • ロジック: 再利用可能なロジックを カスタム フック またはユーティリティにカプセル化します。
  • スタイル: スタイルを CSS モジュール、ユーティリティファースト CSS (Tailwind など)、またはスタイル付きコンポーネントに抽象化します。

3.2.例: きれいに分離されたコンポーネント

悪い (ロジック、スタイル、レンダリングの密結合):

const d = (x) => x % 2 ? 'odd' : 'even'; // Confusing intent
ログイン後にコピー
ログイン後にコピー

4.コミュニケーション: 自己文書化コードを書く

The Clean Coder からインスピレーションを得て、最小限の外部ドキュメントを必要とするコードを目指します。

4.1.コードはストーリーを伝える必要があります

コードの各行は、本を読むように論理的に流れる必要があります。例:

  • 明確に名前が付けられた変数に条件を抽象化します。
  • 「マジックナンバー」を名前付き定数に置き換えます。

前 (わかりにくい):

const getOddOrEven = (number) => number % 2 === 0 ? 'even' : 'odd';
ログイン後にコピー
ログイン後にコピー

後 (読み取り可能なインテント):

function renderMovieCard(movie) {
  // fetch data, format, render JSX in one place
}
ログイン後にコピー
ログイン後にコピー

5.テスト: セーフティ ネット

The Clean Coderではテストが主な焦点であり、プロフェッショナルは常に自分の作業をテストすることを強調しています。

5.1.テストカバレッジ

少なくとも次のことを目指してください:

  • 80% 単体テスト カバレッジ。
  • 統合テスト または E2E テスト を使用して主要なユーザー ジャーニーをテストします。

5.2.意味のあるテストを作成する

優れたテストでは、実装の詳細ではなく、動作と要件について説明します。

テスト例:

function MovieCard({ movie }) {
  const isBlockbuster = movie.revenue > 1000000;
  return (
    <div>



<p>Good (Separation of concerns):<br>
</p>

<pre class="brush:php;toolbar:false">// hooks/useIsBlockbuster.js
export const useIsBlockbuster = (revenue) => revenue > 1000000;

// components/MovieCard.js
import { useIsBlockbuster } from '../hooks/useIsBlockbuster';
import styles from './MovieCard.module.css';

function MovieCard({ movie }) {
  const isBlockbuster = useIsBlockbuster(movie.revenue);
  return <div className={isBlockbuster ? styles.blockbuster : styles.movie}>{movie.title}</div>;
}
ログイン後にコピー

5.3.テストの自動化

  • CI/CD パイプライン (GitHub Actions、CircleCI など) を使用してテストを自動化します。
  • パフォーマンス テストを実行してボトルネックを早期に特定します。

6.継続的な改善

ボブおじさんは、自分の技術を練習するの重要性を強調します。これはフロントエンド開発者に当てはまります:

6.1.容赦なくリファクタリングを行う

  • コード、特に技術的負債のある領域を定期的に見直して改善します。
  • ボーイスカウトのルールを適用します: 「コードベースは見つけたときよりもきれいなままにしておきます。」

6.2.新しいツールとテクニックを学ぶ

  • React Server Componentsエッジ レンダリングAI 支援 UX などの最新のフロントエンド トレンドを常に最新の状態に保ちます。

7.時間管理と集中力

プロフェッショナリズムとは、手を抜かずに時間通りに納品することを意味します。 The Clean Coder のアドバイスに従って、時間を効果的に管理してください。

7.1.反復作業

機能をより小さな段階的な成果物に分割します。

7.2.オーバーコミットを避ける

不当な期限には「ノー」と言えるようになりましょう。代わりに、品質を維持できる成果物について交渉してください。


8.ソフトスキル: コラボレーションとコミュニケーション

プロのプログラマーはチームプレイヤーです。これは、デザイナー、プロダクト マネージャー、バックエンド開発者との連携方法にも当てはまります。

8.1.早めに、頻繁にコミュニケーションをとる

  • 進捗状況を定期的に共有します。
  • できるだけ早くブロッカーや課題を提起してください。

8.2.コードレビュー

ピアコードレビューに積極的に参加します。学習と改善の機会として活用してください。


9.フロントエンドのクリーンなアーキテクチャ

The Clean Coder のアーキテクチャ原則を適用して、コードベースが成長しても保守可能であることを保証します。

9.1. UI を状態管理から分離

  • 一元化された状態には、Redux Toolkit または Zustand を使用します。
  • コンポーネント内でローカル状態 (モーダル切り替えなど) を維持しますが、複雑な状態ロジックを専用ライブラリに委任します。

9.2.依存関係の注入を使用する

依存関係 (API やサービスなど) をハードコーディングするのではなく、小道具として渡します。これにより、テスト容易性が向上します。


10.決して学習をやめないでください

The Clean Coder の本質は、プロフェッショナリズムは目的地ではなく旅であるということです。

  • マスターを継続するための書籍:
    • 「クリーン アーキテクチャ」ロバート C. マーティン著。
    • 「JavaScript: The Good Parts」Douglas Crockford 著。
    • Martin Fowler 著「リファクタリング」
  • 実践練習: 定期的に小規模なサイド プロジェクトを構築するか、オープンソースに貢献します。

最終的な感想

2025 年にマスター フロントエンド開発者になるには、プロフェッショナリズム、クリーン コードの原則、継続的改善の考え方を受け入れることが重要です。これらのテクニックを毎日適用すると、時間が経つにつれて、コードに技術的な卓越性と職人技の両方が反映されるようになります。これらの概念を適用した実際のプロジェクトの内訳をご希望の場合はお知らせください。

以上がコードをよりクリーンにするためのヒントをいくつか紹介します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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