window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster가 이미 존재합니다') } else { w.LeadBooster = { q: [], on: 함수 (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: 함수 (n) { this.q.push({ t: 't', n: n }) }, } } })() CSS 코드의 품질을 어떻게 관리할까요? - The Codest
The Codest
  • 회사 소개
  • 서비스
    • 소프트웨어 개발
      • 프론트엔드 개발
      • 백엔드 개발
    • Staff Augmentation
      • 프론트엔드 개발자
      • 백엔드 개발자
      • 데이터 엔지니어
      • 클라우드 엔지니어
      • QA 엔지니어
      • 기타
    • IT 자문
      • 감사 및 컨설팅
  • 산업 분야
    • 핀테크 및 뱅킹
    • E-commerce
    • 애드테크
    • 헬스 테크
    • 제조
    • 물류
    • 자동차
    • IOT
  • 가치
    • CEO
    • CTO
    • 배달 관리자
  • 우리 팀
  • Case Studies
  • 방법 알아보기
    • 블로그
    • 모임
    • 웹 세미나
    • 리소스
채용 정보 연락하기
  • 회사 소개
  • 서비스
    • 소프트웨어 개발
      • 프론트엔드 개발
      • 백엔드 개발
    • Staff Augmentation
      • 프론트엔드 개발자
      • 백엔드 개발자
      • 데이터 엔지니어
      • 클라우드 엔지니어
      • QA 엔지니어
      • 기타
    • IT 자문
      • 감사 및 컨설팅
  • 가치
    • CEO
    • CTO
    • 배달 관리자
  • 우리 팀
  • Case Studies
  • 방법 알아보기
    • 블로그
    • 모임
    • 웹 세미나
    • 리소스
채용 정보 연락하기
뒤로 화살표 뒤로 가기
2019-01-11
소프트웨어 개발

CSS 코드의 품질을 어떻게 관리하나요?

The Codest

루카스 우사르츠

시니어 Software Engineer

CSS는 보조 매체로 취급되지만 모든 인터넷 애플리케이션에서 중요한 부분을 차지합니다. 최고의 CSS 코드를 제공하기 위해 코데스트에서는 어떤 도구와 모범 사례를 사용하나요?

우리는 품질에 대한 많은 출판물을 찾을 수 있습니다. 코드 다음과 같은 프로그래밍 언어로 작성되었습니다. JavaScript, Java, 루비 등입니다. 디자인 패턴, 자동화된 테스트, 소프트웨어 아키텍처 측면에서 이미 많은 이야기가 오고 갔습니다. 이 모든 출판물에서 CSS는 보조 매체로 취급되지만 모든 인터넷 애플리케이션에서 중요한 부분을 차지합니다.

이 글에서는 고객에게 제공하는 프로젝트의 품질을 항상 최고로 유지하기 위해 코데스트에서 사용하는 도구와 모범 사례에 대해 설명합니다.

SCSS 전처리기

소규모 애플리케이션의 경우 CSS 코드를 작성하는 것으로 충분합니다. 대규모 애플리케이션을 다루는 경우 프로젝트를 사용하면 유사한 HTML 객체에 대한 코드를 여러 곳에서 여러 번 반복할 필요가 없습니다. SCSS 전처리기는 변수, 함수 및 소위 믹스인을 사용하여 코드를 보다 체계적이고 깔끔하게 만들 수 있도록 도와줍니다.

다음 목록에는 "반복하지 않기" 원칙을 충족할 수 있는 믹스인 예시가 포함되어 있습니다:

믹스인 플렉스 센터 {
  디스플레이: flex;
  정렬 항목: 가운데
  justify-content: 가운데
}

이 믹스인을 사용하여 코드를 작성할 수 있습니다:

.item-a {
  디스플레이: flex;
  정렬 항목: 가운데
  justify-content: 가운데
  ...
}

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

보다 간결하고 깔끔한 방식으로:

.item-a {
  @include flex-center;
}

.item-b {
  @include flex-center;
}

BEM 방법론

BEM 방법론은 재사용 가능하고 확장 가능한 모듈식 CSS 코드를 생성할 수 있는 간단한 명명 규칙입니다. Codest의 일부로서 VueJS 컴포넌트를 스타일화하는 데 사용합니다. 하나의 블록을 포함하는 단일 .scss 파일이 단일 .vue 컴포넌트에 할당되는 방식으로 코드를 구성하려고 합니다. v-page-header.vue 컴포넌트의 스타일을 예시로 설정할 수 있습니다.

.page-header {
  &__title {
    font-size: 2.0rem;
    색상: $색상-검정;
    배경: $색-흰색;
  }

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

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

유틸리티 클래스

BEM 방법론으로 작업하는 동안 텍스트의 굵은 부분과 같은 매우 간단한 작업을 수행하려면 인위적인 CSS 클래스 이름을 만들어야 한다는 사실을 알게 되었습니다:

.page-header {
  &__bolder-item {
    글꼴 무게: 굵게
  }
}

이 문제를 해결하기 위해 부트스트랩 프레임워크의 소스 코드에 사용되는 "유틸리티" 클래스에서 영감을 얻었습니다. 덕분에 Vue/HTML 템플릿의 코드에서 다음 유형을 사용할 수 있습니다:

<div>
  <span class="text-bold">콘텐츠</span>
</div>

코드의 정적 분석

투명하고 일관된 구조를 가진 코드로 작업하면 새로운 기능을 쉽게 수정하고 추가할 수 있다는 사실을 누구에게나 설득할 필요가 없습니다. 기존 코드 조각으로 작업을 시작하는 사람이라면 누구나 금방 찾을 수 있는 것이 중요합니다. 그러나 프로그래머는 다른 사람이 이해하지 못하는 자신만의 습관을 가지고 있는 경우가 많습니다. 팀 멤버가 될 수 있습니다. 그렇기 때문에 코드 검사를 자동화할 수 있는 도구를 사용하는 것이 매우 중요합니다. Codest의 일부로 미리 정의된 규칙 집합이 포함된 SCSS 코드를 자동으로 분석하는 SCSS-LINT 도구를 사용합니다. 프로젝트에서 가장 흥미롭고 가장 제한적인 규칙 중 하나는 단일 SCSS 클래스 내에서 속성의 적절한 순서를 보장하는 PropertySortOrder 규칙일 수 있습니다.

SCSS 코드의 다음 두 부분을 상상해 보세요:

.item-a {
    글꼴 크기: 14px;
    색상: #FF00FF;
    여백 상단: 10px;
    글꼴 무게: 굵게;
    배경색: #00FFFF;
    padding: 5px;
    margin-bottom: 10px;
}

.item-b {
    글꼴 크기: 18px;
    padding: 3px;
    background-color: #00FFFF;
    margin-bottom: 4px;
}

그리고:

.item-a {
  여백: 10px 0;
  padding: 5px;
  background-color: #00FFFF;
  색상: #FF00FF;
    font-size: 14px;
    글꼴 무게: 굵게;
}

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

두 구절 모두 맞지만 두 번째 구절이 더 가독성이 높습니다. 여백 및 패딩과 같은 관련 속성이 함께 그룹화되어 있습니다.

요약

Codest 프레임워크로 만드는 광범위한 웹 애플리케이션의 CSS 코드 구성에 대한 모든 정보를 몇 문장으로 설명하기는 어렵습니다. 모든 독자가 자신의 프로젝트에서 어떤 도구와 모범 사례를 사용하는지 의견을 남겨 주시기 바랍니다.

관련 문서

소프트웨어 개발

미래 지향적인 웹 앱 구축: The Codest의 전문가 팀이 제공하는 인사이트

The Codest가 최첨단 기술로 확장 가능한 대화형 웹 애플리케이션을 제작하고 모든 플랫폼에서 원활한 사용자 경험을 제공하는 데 탁월한 성능을 발휘하는 방법을 알아보세요. Adobe의 전문성이 어떻게 디지털 혁신과 비즈니스를 촉진하는지 알아보세요...

최신
소프트웨어 개발

라트비아에 본사를 둔 10대 소프트웨어 개발 기업

최신 기사에서 라트비아 최고의 소프트웨어 개발 기업과 그들의 혁신적인 솔루션에 대해 알아보세요. 이러한 기술 리더들이 어떻게 귀사의 비즈니스를 향상시키는 데 도움을 줄 수 있는지 알아보세요.

thecodest
엔터프라이즈 및 스케일업 솔루션

Java 소프트웨어 개발 필수 사항: 성공적인 아웃소싱을 위한 가이드

The Codest로 효율성을 높이고 전문 지식을 활용하며 프로젝트 성공을 이끌 수 있는 성공적인 outsourcing Java 소프트웨어 개발에 대한 이 필수 가이드를 살펴보세요.

thecodest
소프트웨어 개발

폴란드 아웃소싱을 위한 최고의 가이드

폴란드에서 outsourcing가 급증한 것은 경제, 교육, 기술 발전으로 인한 IT 성장과 비즈니스 친화적인 환경이 조성된 덕분입니다.

더코데스트
엔터프라이즈 및 스케일업 솔루션

IT 감사 도구 및 기술에 대한 완벽한 가이드

IT 감사는 안전하고 효율적이며 규정을 준수하는 시스템을 보장합니다. 전체 기사를 읽고 그 중요성에 대해 자세히 알아보세요.

The Codest
야쿱 야쿠보비치 CTO & 공동 설립자

지식창고를 구독하고 IT 분야의 전문 지식을 최신 상태로 유지하세요.

    회사 소개

    The Codest - 폴란드에 기술 허브를 둔 국제 소프트웨어 개발 회사입니다.

    영국 - 본사

    • 사무실 303B, 182-184 하이 스트리트 노스 E6 2JA
      영국 런던

    폴란드 - 현지 기술 허브

    • 파브리츠나 오피스 파크, 알레야
      포코주 18, 31-564 크라쿠프
    • 뇌 대사관, 콘스트럭터스카
      11, 02-673 바르샤바, 폴란드

      The Codest

    • 홈
    • 회사 소개
    • 서비스
    • Case Studies
    • 방법 알아보기
    • 채용 정보
    • 사전

      서비스

    • IT 자문
    • 소프트웨어 개발
    • 백엔드 개발
    • 프론트엔드 개발
    • Staff Augmentation
    • 백엔드 개발자
    • 클라우드 엔지니어
    • 데이터 엔지니어
    • 기타
    • QA 엔지니어

      리소스

    • 외부 소프트웨어 개발 파트너와의 협력에 대한 사실과 오해
    • 미국에서 유럽으로: 미국 스타트업이 유럽으로 이전을 결정하는 이유
    • 테크 오프쇼어 개발 허브 비교: 테크 오프쇼어 유럽(폴란드), 아세안(필리핀), 유라시아(터키)
    • CTO와 CIO의 주요 과제는 무엇인가요?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • 웹사이트 이용 약관

    저작권 © 2025 by The Codest. 모든 권리 보유.

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