window.pipedriveLeadboosterConfig={です。 ベース:'leadbooster-chat.pipedrive.com'、 companyId:11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2、 } ;(function () { var w = window もし (w.LeadBooster) {なら console.warn('LeadBooster already exists') } else { w.LeadBooster = { {. q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: 関数 (n) { { this.q.push({ t: 'o', n: n, h: h }) this.q.push({ t: 't', n: n }) }, } } })() CSSコードの品質をどう考えるか?- The Codest
The Codest
  • 会社概要
  • サービス
    • ソフトウェア開発
      • フロントエンド開発
      • バックエンド開発
    • Staff Augmentation
      • フロントエンド開発者
      • バックエンド開発者
      • データエンジニア
      • クラウドエンジニア
      • QAエンジニア
      • その他
    • アドバイザリー
      • 監査&コンサルティング
  • 産業
    • フィンテック&バンキング
    • E-commerce
    • アドテック
    • ヘルステック
    • 製造業
    • 物流
    • 自動車
    • アイオーティー
  • 価値
    • CEO
    • CTO
    • デリバリー・マネージャー
  • チーム
  • Case Studies
  • ノウハウ
    • ブログ
    • ミートアップ
    • ウェビナー
    • リソース
採用情報 連絡先
  • 会社概要
  • サービス
    • ソフトウェア開発
      • フロントエンド開発
      • バックエンド開発
    • Staff Augmentation
      • フロントエンド開発者
      • バックエンド開発者
      • データエンジニア
      • クラウドエンジニア
      • QAエンジニア
      • その他
    • アドバイザリー
      • 監査&コンサルティング
  • 価値
    • CEO
    • CTO
    • デリバリー・マネージャー
  • チーム
  • Case Studies
  • ノウハウ
    • ブログ
    • ミートアップ
    • ウェビナー
    • リソース
採用情報 連絡先
戻る矢印 戻る
2019-01-11
ソフトウェア開発

CSSコードの品質をどう考えるか?

The Codest

ルカシュ・ウサルシュ

シニア Software Engineer

CSSはサポートメディアとして扱われているようですが、すべてのインターネットアプリケーションの重要な部分を構成しています。最高のCSSコードを提供するために、コーデストではどのようなツールやグッドプラクティスを用いているのでしょうか。

私たちは、その品質に関する多くの出版物を見つけることができる。 コード などのプログラミング言語で書かれている。 JavaScript, ジャワRubyなどである。デザイン・パターン、自動テスト、ソフトウェア・アーキテクチャについては、すでに多くのことが語られている。これらの出版物のすべてにおいて、CSSは補助的なメディアとして扱われているようですが、すべてのインターネット・アプリケーションの重要な部分を構成しています。

この記事では、私たちがクライアントに提供するプロジェクトが常に最高品質であるように、コーデストで使用しているツールやグッドプラクティスについて説明します。

scss プリプロセッサ

小さなアプリケーションであれば、CSSコードを書くだけで十分だ。より大きな プロジェクトSCSSプリプロセッサは、類似したHTMLオブジェクトのコードを異なる場所で何度も繰り返す必要がないようにします。SCSSプリプロセッサは、変数や関数、いわゆるミキシンを使うのを助けてくれます。

以下のリストは、「Do not Repeat Yourself」の原則を満たすためのミキシンの例です:

フレックスセンター
  display: flex;
  align-items: center;
  justify-content: center;
}

このミキシンを使えば、コードを書くことができる:

.item-a {
  display: flex;
  align-items: center;
  justify-content: center;
  ...
}

.item-b {
  display: flex;
  align-items: center;
  justify-content: center;
  ...
}

より簡潔でクリーンな方法で:

.item-a {
  フレックスセンターを含む;
}

.item-b {
  flex-center を含む;
}

ビーイーエム メソドロジー

BEM手法は、モジュール化され、再利用可能でスケーラブルなCSSコードを作成できるシンプルな命名規則です。Codestの一部として、VueJSコンポーネントのスタイリングに使用しています。1つのブロックを含む1つの.scssファイルが、1つの.vueコンポーネントに割り当てられるように、コードを整理するようにしています。例として、v-page-header.vueコンポーネントのスタイリングを設定できます。

ページヘッダー
  タイトル
    font-size: 2.0rem;
    color: $color-black;
    background: $color-white;
  }

  &__logo {
    background: url('/images/background.png') no-repeat 0 0;

    縦書き
      background: url('/images/background-2.png') no-repeat 0 0;
    }
  }

ユーティリティクラス

BEMの手法で作業しているとき、非常に単純な操作、たとえばテキストの一部を太字にするといった操作を行うには、人工的なCSSクラス名を考案しなければならないことに気づいた:

.page-header {
  &__bolder-item {
    font-weight: bold;
  }
}

この問題を解決するために、Bootstrapフレームワークのソースコードで使用されている「ユーティリティ」クラスからヒントを得ました。このおかげで、Vue/HTMLテンプレートのコードで、以下の型を使用することができます:

<div>
  <span class="text-bold">内容</span>
</div>

コードの静的解析

透明性があり、一貫した構造を持つコードで作業することで、簡単に変更したり、新しい機能を追加したりすることができることは、誰にも納得してもらう必要はない。重要なのは、既存のコードの断片に取りかかろうとする人が、それをすぐに見つけられることだ。しかし、プログラマーには独自の癖があり、他のプログラマーには理解されないことがよくある。 チーム メンバーだ。そのため、コードチェックを自動化できるツールを使うことがとても重要です。Codestの一部として、私たちはSCSS-LINTツールを使ってSCSSコードを自動的に分析しています。私たちのプロジェクトで使用している最も興味深く、最も制限的なルールの1つは、1つのSCSSクラス内の属性の適切な順序を保証するPropertySortOrderルールです。

SCSSコードの次の2つの部分を想像してみてください:

.item-a {
    font-size: 14px;
    color: #FF00FF;
    margin-top: 10px;
    font-weight: bold;
    background-color: #00FFFF;
    padding:5px;
    margin-bottom:margin-bottom: 10px;
}

.item-b {
    font-size: 18px;
    padding:3px;
    background-color: #00FFFF;
    margin-bottom:margin-bottom: 4px;
}

と:

.item-a {
  margin: 10px 0;
  padding:5px;
  background-color: #00FFFF;
  color: #FF00FF;
    font-size: 14px;
    font-weight: bold;
}

.item-b {
  margin-bottom:4px;
  padding:3px;
  background-color: #00FFFF;
    font-size: 18px;
}

どちらの文章も正しいが、2番目の方が読みやすい。マージンやパディングといった関連する属性は一緒にまとめられている。

概要

私たちがCodestフレームワークで作成する広範なWebアプリケーションのCSSコード構成に関するすべての情報を、わずかな文章でお伝えすることは困難です。読者の皆さんには、ご自身のプロジェクトでどのツールやグッドプラクティスを使用しているか、コメントを残していただくことをお勧めします。

関連記事

ソフトウェア開発

将来を見据えたウェブ・アプリケーションの構築:The Codestのエキスパート・チームによる洞察

The Codestが、最先端技術を駆使してスケーラブルでインタラクティブなウェブアプリケーションを作成し、あらゆるプラットフォームでシームレスなユーザー体験を提供することにどのように秀でているかをご覧ください。The Codestの専門知識がどのようにデジタルトランスフォーメーションとビジネス...

ザ・コデスト
ソフトウェア開発

ラトビアを拠点とするソフトウェア開発企業トップ10社

ラトビアのトップソフトウェア開発企業とその革新的なソリューションについて、最新記事でご紹介します。ラトビアの技術リーダーたちがあなたのビジネスをどのように向上させるかをご覧ください。

thecodest
エンタープライズ&スケールアップ・ソリューション

Javaソフトウェア開発の要点:アウトソーシングを成功させるためのガイド

outsourcingのJavaソフトウェア開発を成功させるために不可欠なこのガイドを読んで、The Codestで効率性を高め、専門知識にアクセスし、プロジェクトを成功に導きましょう。

thecodest
ソフトウェア開発

ポーランドにおけるアウトソーシングの究極ガイド

ポーランドのoutsourcingの急増は、経済、教育、技術の進歩がITの成長とビジネス・フレンドリーな環境を促進していることによる。

ザ・コデスト
エンタープライズ&スケールアップ・ソリューション

IT監査ツール&テクニック完全ガイド

IT監査は、安全かつ効率的で、コンプライアンスに準拠したシステムを保証します。その重要性については、記事全文をお読みください。

The Codest
ヤクブ・ヤクボヴィッチ CTO & 共同創設者

ナレッジベースを購読して、IT部門の専門知識を常に最新の状態に保ちましょう。

    会社概要

    The Codest - ポーランドに技術拠点を持つ国際的なソフトウェア開発会社。

    イギリス - 本社

    • オフィス 303B, 182-184 High Street North E6 2JA
      イギリス、ロンドン

    ポーランド - ローカル・テック・ハブ

    • ファブリチュナ・オフィスパーク、アレハ
      ポコジュ18、31-564クラクフ
    • ブレイン・エンバシー, コンストルクトースカ
      11, 02-673 Warsaw, Poland

      The Codest

    • ホーム
    • 会社概要
    • サービス
    • Case Studies
    • ノウハウ
    • 採用情報
    • 辞書

      サービス

    • アドバイザリー
    • ソフトウェア開発
    • バックエンド開発
    • フロントエンド開発
    • Staff Augmentation
    • バックエンド開発者
    • クラウドエンジニア
    • データエンジニア
    • その他
    • QAエンジニア

      リソース

    • 外部ソフトウェア開発パートナーとの協力に関する事実と神話
    • 米国から欧州へ:アメリカの新興企業がヨーロッパへの移転を決断する理由
    • テックオフショア開発ハブの比較:テックオフショア ヨーロッパ(ポーランド)、ASEAN(フィリピン)、ユーラシア(トルコ)
    • CTOとCIOの課題は?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • ウェブサイト利用規約

    著作権 © 2025 by The Codest。無断複写・転載を禁じます。

    jaJapanese
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek jaJapanese