キーポイント
悪いCSSを継承したことがあり、それを維持する義務がある場合は、将来あなたのコードを維持する他の人に同情するかもしれません。極端な場合、開発者はアプリケーションのCSSを完全に書き直す以外に選択肢がありません。これらの極端は、各パッチが複数の予期しない副作用を導入すると発生します。これに到達すると、スタイルシートの維持が難しくなります。
建築的に信頼できる決定を下すことで、将来の自己に困難を引き起こすことを避けることができます。これが、実際に保守可能なCSSアーキテクチャを構築する方法を学ぶことが非常に重要である理由です。
悪いコードに合格する人になりたくない場合は、ゼロから保守可能なCSSを作成する方法を知りたい場合があります。どこから始めますか?完璧なプロジェクトを構築する際に検討する価値のあるCSSアーキテクチャの要素を見てみましょう。
CSSを維持できる3つの柱「オフィスのCSSヒーローになる:CSSアーキテクチャ」をご覧ください。
ビデオ再生アイコンこのコースを表示このコースを表示 ソフトウェアシステムのCSSアーキテクチャを設計する場合、3つの概念を検討する価値があります。これらの概念は非常に基本的なものであり、建物の構造をサポートする柱と考えることができます。これらの3つの柱が、CSSを時間のテストの下に保ち、維持が困難なカオスに崩壊しないようにする必要があります。
最初の柱は、CSSアーキテクチャの構成要素を定義します。これらのビルディングブロックには、SASSの使用、効率的なCSSセレクターの書き込み、ブロックエレメントモジー(BEM)構文の書き込み、ID属性の代わりにクラスを使用し、適切なユニットの場合は親relativeを使用するなど、さまざまなソリューションとツールが含まれています。
このビューでは、CSSコードの品質を大幅に向上させることができますが、作業を体系的に体系化するには、より高いレベルの組織が必要です。したがって、信頼できる保守可能な階層CSSを構築するために、ビルディングブロックのオーケストレーションに焦点を当てた2番目の柱が必要です。このレイヤーは、CSSアーキテクチャのスケルトンと考えてください。既製の2つのCSSアーキテクチャに興味がある場合は、ITCSSとSMACSをさらに調査できます。
残念ながら、ビルディングブロックとフレームワークまたはCSSアーキテクチャの組織化された使用により、岩が堅く装備が容易なCSSの書き込みはできません。ソフトウェアエンジニアリングの原則を適用することにより、コードは信頼性が高くなります。これは、保守可能なCSSを書面で3番目の柱です。
ソフトウェアエンジニアリングの原則をCSS
に適用します長期にわたるソフトウェアを設計するためのさまざまな原則があります。
これらの原則は、CSSコードを保守可能な方法でモデル化することを保証することにより、CSSツールとソリューションを使用する目的を提供します。これらの原則がなければ、CSSアーキテクチャを使用することは、主に儀式にすぎません。ソフトウェアエンジニアリングの原則に従ってCSSを作成しないと、コードサイズの維持が困難になると、クラッシュして崩壊します。
特定のプログラミング言語で多くの経験を持つソフトウェアエンジニアである場合、これらの原則をCSSなどの宣言言語に適用することは非常に驚くべきことになるかもしれません。ただし、実際には、CSSは他の言語と同様に成熟した言語になりましたが、構造は必要なコードについて思慮深いです。いくつかの主要な原則の実用的な応用を調べてみましょう。
懸念の分離は、ソフトウェアソリューションの明確な分離責任を定義する責任があるソフトウェア設計の原則です。 CSSへの最も明白なアプリケーションは、スタイル用のクラスと機能のクラス間の分離です。スタイルクラスはJavaScriptコードに表示されないでください。機能関連のクラスは、スタイルシートに表示されないでください。
ロバートC.マーティンは、5つの確固たる原則を定義しています。これらの原則のいくつかは、CSSやその他のプログラミング言語にも適用されます。
私のCSSアーキテクチャコースでは、単一の責任原則や開閉原則など、CSSコードのコンテキストでこれらの固体原則を使用する方法を詳述する多くの異なるアプリケーションがあります。スタイルシートの階層では、単一の責任の原則を適用します。たとえば、ITCSSアーキテクチャのレイヤーには、リセットまたは正規化手順が含まれています。タグスタイルは正規化プログラム上に構築されており、コンポーネントスタイルはタグスタイルに基づいて構築されています。各レベルには、明確に定義された単一の責任があります。
ソフトウェアエンジニアリングの原則をCSSコードに適用する最も有名な例は、乾燥CSSとウェットCSSの比較です。 Dryは「自分自身を繰り返さないで」の略で、Wetは「私たちはタイプするのが大好きです」の略です。
ドライコードを変更するときはいつでも、1つの場所で変更を行う必要があり、他の外観のためにCSSコードベースの残りの部分を検索する必要がないことを確信できるため、コードドライをより保守しやすいものにします同じコード条件の。
CSSが濡れている場合、コードの一般的な部分を識別し、この共通の関数を基本クラス(またはプリプロセッサを使用している場合は混合)に抽象化することで乾燥させることができます。
コードで基本クラスとサブクラスを使用することは、SASSの@extendを使用して実行される継承と呼ばれます。 SASS用語を使用してMixinまたは@mixinディレクティブを使用する場合、組み合わせを使用します。継承、構成、およびSASS定数の使用は、抽象化を実行するための強力なツールです。
css
を組み合わせてみてください実用的な例を見てみましょう。コードベースに4種類の長方形があるとします。普遍的な長方形、丸い長方形、緑の長方形、丸い緑の長方形。
BEMネーミング条約を使用して、次のように各長方形のコンポーネントをマークすることができます。
<code><div class="rectangle"></div> <div class="rectangle--rounded"></div> <div class="rectangle--green"></div> <div class="rectangle--rounded--green"></div></code>
構造は明確であり、修正されたクラスで自分自身を繰り返しませんでした。ただし、5つの修飾子の階層を作成すると、31のクラスの定義が発生します。そのほとんどは、@extendディレクティブのコレクションにすぎません。
<code>.rectangle { width: 200px; height: 100px; margin: 20px; padding: 20px; display: inline-block; border: 1px solid black; } .rectangle--rounded { @extend .rectangle; border-radius: 20px; } .rectangle--green { @extend .rectangle; background-color: green; } .rectangle--rounded--green { @extend .rectangle--rounded; @extend .rectangle--green; }</code>
この組み合わせは、より強力な構造を提供します。完全に柔軟な構造を作成するには、一般的な長方形のクラスと2つの混合物のみが必要です。
特別な機能ボックスがあるとします。
<code>@mixin rounded { border-radius: 20px; } @mixin green { background-color: green; }</code>
機能ボックスが丸いが緑色ではない場合、長方形クラスを拡張し、長方形を丸くするミックスインを含める必要があります。
<code><div class="feature-box"></div></code>
より良いCSSアーキテクチャソフトウェアエンジニアリングの原則は、CSSおよびその他のプログラミング言語に適用されると結論付けることができます。これらの原理は、CSSビルディングブロックのマイクロレベルとこれらのビルディングブロックのマクロレベルの2つのレベルの間にあります。したがって、保守可能なCSSを作成する際に実際にこれらの原則を適用する方法を学ぶことは有益です。
<code>.my-rectangle { @extend .rectangle; @include rounded; }</code>
これらの原則の実用的な適用を説明し、実証するために、岩の堅実なCSSアーキテクチャのコースを作成しました このコースでは、CSSアーキテクチャの3つの柱を探索し、ソフトウェアエンジニアリングの原則を強調します。これらの原則を理論的に学ぶだけでなく、多くの実用的な例でそれらを使用する機会もあります。
たとえば、多数のブログ投稿を収集し、提供されたCSSコードを維持するのが難しい理由を確認します。 CSSのリファクタリングプロセスを徐々に完了し、この記事で簡単に紹介した原則を適用し、コースビデオで詳細に適用します。
ITCSSアーキテクチャとSASSを使用して小さなコンポーネントライブラリを作成することにより、CSSアーキテクチャの3つの柱を実践するためのセクションを開発しました。 CSSアーキテクチャについて詳しく知りたい場合は、コースにサインアップしてコースでお会いしましょう!CSSアーキテクチャと保守可能なCSSについてよく尋ねる質問
CSSアーキテクチャは、Web開発において重要な役割を果たしています。 CSSコードを作成するための構造化された方法を提供し、コードを理解し、維持し、拡張しやすくします。明確に定義されたCSSアーキテクチャを使用すると、開発者は特定の競合、命令の紛争、コードの複製などの問題を回避できます。また、コードの再利用を容易にし、Webページを構築するのに必要な時間と労力を減らします。
オブジェクト指向CSS(OOCSS)は、コードの再利用とより速く、より効率的なスタイルシートを促進する方法です。開発者は、CSSをオブジェクトシステムと考えることを奨励しており、それぞれに独自のプロパティと動作を備えています。 OOCSSを使用すると、外観とコンテナからコンテンツから構造を分離することにより、スケーラブルで保守可能なCSSを簡単に作成できます。
ブロック、要素、修飾子(BEM)は、HTMLおよびCSSのクラスに使用される規則の名前です。コードの読みや理解を容易にする明確で厳格な構造を提供します。 BEMアプローチは、命名と特定の競合の機会を減らすことにより、堅牢でスケーラブルなCSSアーキテクチャを作成するのに役立ちます。
CSSアーキテクチャにおけるITCSSメソッドの重要性は何ですか?
CSS変数は、保守可能なCSSをどのように宣伝しますか?
保守可能なCSSにおけるCSS前処理者の役割は何ですか?
コンポーネントベースのアーキテクチャは、保守可能なCSSをどのように促進しますか?
スタイルガイドは、一連のCSS執筆標準を提供します。これにより、コードベースの一貫性が保証され、コードの読み取りと維持が容易になります。スタイルガイドには、命名規則、フォーマットルール、ベストプラクティスが含まれます。
css stylelintのような糸くずツールは、問題になる前にコーディング基準の実行と潜在的な問題を捉えるのに役立ちます。特定の問題を自動的に修正し、他の問題に関するアドバイスを提供し、それによりコードの品質と保守性を向上させることができます。
以上がCSSアーキテクチャと保守可能なCSSの3つの柱の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。