2011-02-08 2 views
7

Magento 플랫폼에서 작업하고 프런트 엔드 개발자는 모두 동일한 CSS 스타일 시트에서 작업합니다. 이 스타일 시트에는 많은 기존 스타일이 있습니다. 대부분의 경우 병합과 모든 작업을 더 쉽게 수행 할 수 있도록 하단에 스타일을 추가하라고합니다. 스타일 시트에 이미 존재하는 선택자로 특정 스타일을 넣고 싶을 때 이것이 항상 작동하는 것은 아닙니다.대형 팀 및 버전 관리에서 단일 CSS 파일로 작업하는 방법

우리는 갈등을 올바르게 관리하지 않고 다른 사람 코드를 무시하는 데 많은 문제가있는 것으로 보입니다. 명백하게 충돌 시도 가능성을 줄이기 위해 다른 사람을 알고있을 때 파일을 시도하고 작업하는 것이 가장 좋습니다. 그러나 사이트에서 일하는 개발자가 한 명 더 있고 분명히 CSS 파일이 하나만있는 경우에는 많은 갈등.

다른 개발자가이 문제를 관리하는 방법을 찾고 있습니다. 개발자가 갖고있는 충돌의 양을 최소화하는 방법을 찾고 있습니다.

답변

12
  1. 하나의 CSS 파일이 없습니다. 여러 개의 작은 CSS 파일을 배포 용으로 단일 파일 으로 병합 및 축소하지만 개발 중에는 논리적으로 스타일을 분리해야합니다.

    @JosephMastey가 아래에 제안한 것처럼 개인적으로 사이트의 다른 스타일의 페이지마다 하나의 파일을 분리합니다. 스타일 시트에서 필자는보다 일반적인 일반 그룹과 그룹 선택자를 함께 선택하는 경향이 있습니다 (예 : 모든 table#foo ... 선택자가 인접).

  2. 파일을 체크 아웃하거나 잠글 필요가없는 힘내 같은 버전 제어 시스템을 사용하십시오. 대신 지능형 병합으로 동시에 편집 할 수 있습니다.

    편집 : 그리고 어느 시점에서 개발자를 훈련시키고 신뢰할 수 있습니다. 서로의 작업을 반복적으로 실행하고 편집 내용을 병합하는 개발자에게 궁극적으로 도움이되는 유일한 방법은 개발자가 그렇게하지 못하도록 가르치는 것입니다.

+0

저는 모든 개발자가 자신의 스타일 시트를 사용하도록 생각하고 있습니다. 나는 그걸로 갈지도 몰라, 지금 현재 우리는 SVN을 고수하고있다. –

+3

@ dan.codes : Subversion은 자신이하고있는 일에 충분히 정성이 들지만 모든 개발자가 자신의 CSS 파일을 가지고 있다면 버전 관리의 목적을 이기고 있습니다. 합병 할 때 무엇을 할 것입니까? –

+0

@mu는 너무 짧습니다. 당신 말이 맞아요. 그렇게하지 않기로 결정한 것 같습니다. 그렇다면 SVN에서 그다지 좋지 않은 사람들은 실수를 저 지르지 않습니다. –

4

모든 사람이 파일의 동일한 부분 (즉, 끝 부분)을 편집하면 수정 충돌 가능성이 크게 높아집니다.

나는 CSS가 자연스럽게가는 곳으로 가라. 다른 사람이 한 부분을 편집하고 다른 누군가가 다른 부분 전체를 편집하는 경우, 괜찮은 개정 관리 시스템은 누군가가 업데이트 할 때 대부분의 변경 사항을 자동으로 병합하므로 충돌이 줄어 듭니다.

+0

나는 바닥에 물건을 추가하는 모든 사람의 관점에서 생각하지 않았다. 나는 사람들이 갈등의 병합에 무엇이 필요할 지 쉽게 알 수 있다고 생각했다. –

+0

@dan : 갈등을 해결하는 법을 모르는 한사람이 문제를 일으키기 만하면됩니다. 모든 사람들이 문제를 해결할 수있는 방법을 알기보다는 갈등을 줄일 수있는 기회를 줄이는 것이 더 좋습니다. – cHao

1

"단일 CSS 파일이 없습니다"라는 의견에 동의합니다. Magento 모듈은 각각 고유 한 스타일 시트를 가질 수 있으며 물론 관련없는 작업을 독립적 인 모듈로 분리 할 수 ​​있습니까? Magento가 카탈로그, 체크 아웃, 고객 등을 위해 별도의 시트를 제공하는 경우 선호하지만 슬프게도 그렇지 않습니다. 직접 작성해야하며 빈 테마를 준비해야합니다.

개발자별로 나누는 것은 의미가 없습니다. 개발자들은 와서 다른 작업을 할당받습니다.

Magento는 CSS & JS 병합을 포함하므로 많은 시트가있는 것에 대해 걱정할 필요가 없습니다. Fooman Speedstermod_pagespeed도 있습니다.

+0

그래, 사이트의 여러 섹션에 대해 서로 다른 시트를 제안 할 것입니다. 즉, 어쨌든 처음부터 사이트를 처음부터 구축하는 방법입니다. –

1

내 경험에 의하면 외부 개발자가 충분히 도움이 될 때까지 단일 개발자가 프로젝트 작업을해야합니다.이 단일 개발자는 애플리케이션 전반에 걸쳐 사용되는 지침과 표준 스타일을 설정해야하므로 사람들은 각 요소에 새로운 스타일을 추가 할 필요가 없습니다. 초기 개발자가 처음에 리포지토리에 추가 된 모든 새로운 스타일 시트 변경 사항을 검토하여 프로젝트에 익숙하지 않은 개발자에게 유틸리티 클래스 또는 컨벤션을 알리도록하십시오.

당신이 항상 시작 재고 시스템 테마의 일종이 있다면 그것은 또한 도움이 될

- 사람들이 각 프로젝트의 시작의 점수를 알고 엉망 당신의 조직 CSS :

에 변명의 여지가 없다 그런 식으로

@cHao가 지적했듯이, 많은 개발자들이 참여할 때 절대 파일의 끝에 직접 추가하지 마십시오. 이것이 우리가 경험하고 쉽게 피할 수있는 갈등의 가장 큰 원인입니다.

관련 문제