나는'm 의 생각을 만들은 cron 작업을 확인하는 코드를 실행 코드 포맷터에 그것은,그리고 아무것도 변화,저지른 변화를 밀어로 그들을 다시합니다.
대부분의 프로젝트를 사용하는 autoformatters 에 넣어 git 후크,하지만 그것은 자동으로 몇 시간에 부담을 제거를 위한 각 개발을 설치하는 자식이다.
나는 여전히 모든 사람을 장려 쓰는 청소,잘 포맷 코드,그리고 어쩌면 내가 있을 수 있는 시스템에서 자동으로 ping 요할 때 코드들이 쓴 얻 포맷,그래서 그들은 무엇을 알 수 있다.
나는 대신 그것을 만들려고 정말 모두를 위해 쉬운에서 팀을 적용하는 코드를 자동으로 포맷에 따라 귀하의 팀's standard직접 내부의 편집기 또 IDE,현재의 소스 코드 파일(또는 선택된 부분의). 이렇게 귀하의 팀 구성원이 더 제어에 대해 언제 어떻게 서식은,그들의 코드를 검사하기 전에 그것을 위해 각종 형태 테스트*후 서식치,전하지 않았습니다.
는 경우의 전부 또는 대부분의 팀 구성원이 사용하여 동일한 편집,이것은 너무 어렵습니다. 면 모두 사용하여 다른 하나는,다음의 방법이 될 수 있습 두 번째로 최고의 솔루션으로 팀이 지원합니다. 그러나 나는 당신을 추천한 추가 안전 조치를 설치,같은 시간대를 선택하여 빌드하고 자동화된 테스트가 실행되**후 각각의 코드를 자동으로 수정할 수 있습니다.
It's,나쁜 생각하지 않기 때문에 그냥 사람들은 낙담에서 쓰기 괜찮은 코드뿐만 아니라,때문에서는 포맷으로 표시됩니다 코드에서 변경 VCS(을 사용합니까 하나의 희망),마스킹은 역사적인 교류의 코드는's development. 더 악화,모든 코드를 포맷 작업(실제로 모든 변화하는 코드에서는 모든)가 가능성을 소개하는 버그,지's 수동 또는 자동화되어 있습니다. 그래서 포맷터 수 있다 지금 소개하는 버그에서 당신의 코드는't 갈을 통해 코드 리뷰,단위 테스트,통합,시험,등등. 까지 가능하다.
나를 생각하는 경향이 있는 것이 좋(을 자동으로 실행 코드 포맷터)이지만,그것은 단지 나의 의견입니다.
나't 주기적으로 실행하지만,가능하면 앞에 버전 관리가한다.
와gita하 후크하고 있는 것이 유용합니다. 에서 많은 C 또는 C++프로젝트에 내장 된 몇 가지Makefile,나는 추가들여쓰기
대상(를 실행하는 적절하게 코드 포맷터 같은들여쓰기
또는astyle
)그리고 기대하여 실행되는을 들여쓰기
정기적으로 한다. BTW,추가할 수 있습니다 심지어 몇 가지확인
하는지 확인하는 규칙은 자식 후크가 설치되었(또는 그들을 설치하).
하지만 정말이상사회문제보다기술적하나입니다. 당신이 원하는 귀하의 팀을 commit 깨끗하고 깔끔한 코드,그리고 사회의 규칙은 귀하의 프로젝트입니다. (가 항상 기술에 응답하여 모든 사회적 문제).
버전 관리는 대부분 어떤 도구 통신 인간 개발자는(를 포함하여 자기 자신의 몇 개월에서 지금). 귀하의 소프트웨어 don't 필요 VC 또는 포맷하지만,팀 않습니다.
BTW,다른 지역 사회와 다양한 프로그래밍 언어에 대한 서로 다른 견해를 가지고있 코드 서식을 지정합니다. 예를 들어가는 하나의 코드 형식 스타일이지만,C 또는 C++가 많이 있습니다.
I think it's 는 나쁜 생각이 아니다. 에 대한 답변이 이미 적용하는 dirties 역사에 의해 어렵게 만드는 아래로 고정자실제로추가한 라인과 그것이 사람들을 격려하는 그냥 커밋이 무엇인 및 형식으로 로봇을 처리할 것입니다.
더 나은 것을 통합하는 형식 검사로 당신의 빌드 도구입니다. (자바 있다Checkstyle)다만,사람들을 병합하는 자신의 지점을 중요 지점으면 빌드 패스(을 포함하여 포맷).
도록 허용하면 사람들을 저지하는 똑바로 본점(에서 같은 파괴에 대한 예)그럼 당신은 여전히는지 확인해야 모든 분야를 commit 만 코드를 포맷(또는 서버만 허용사 후 일부를 확인되었을 실행).
일반적으로,나는 그것은 나쁜 생각이 아니다. 원칙적으로 그's 는 유효한 아이디어를,그러나 그것이 문제가 될 수 있는 현실입니다. 을 가지는 코드를 포맷터 휴식의 코드를 실제 가능성,그리고 그것은 단지 하나의 포맷을 실행하는 개발자들의 응답으로(아마 정당화)적(ex."당신의 형편없는 코드를 포맷을 돌파를 구축,그것을 끄now!"*).
같은 맥락에서@BasileStarynkevitch's 추천서,우리가 자식을 사용하는 서버측 post-받 후크 송"자문 이메일"코드 스타일입니다.
내가 누르면 commit 포함하는 스타일의 위반,git 원래 서버가 보내는 이메일을 알리는 나를 부러 스타일의 지침과을 권장는 수정 나의 코드입니다. 그것은하지 않습니다,그러나,적용이 있을 수 있기 때문에 유효한 이유를 위해 파괴 하우스 스타일(긴 문자열을 초과하는 라인 길이의 제한,예를 들어).
경's 조직의 문제는 해치지 codebase 할 수 있습을 시작하는 시간을 데리고 코드 스타일의 문제 코드에서 리뷰가 없습니다. 가난한 코드 스타일을 수 있습 버그가 가고 열심히 코드를 읽을 수 있습니다 그래서 유효한 코드를 검토 문제입니다.
추가하려면"사회적 문제"측면의 것,그것에 가치가 될 수 있는 사람들을 격려를 해결 화장품 및 문체의 결함으로 그들이 찾을 수 있습니다. 우리는 표준 commit 메시지"화장품."코드 스타일을 수정하는 다른 개발자들이 알고 있을 포함하지 않습니다.
로@DocBrown 말한다,또 다른 옵션은 적용하는 코드 스타일에서 당신의 IDE 입니다. 우리가 사용하는CodeMaidVisual Studio 를 사용하여 올바른 많은 일반적인 스타일에 오류가 있습니다. 그에 따라 실행할 코드를 저장한 파일을 의미하는 나쁜 스타일 코드가 없으로 그것을 만들 repo...이론에서:-).
Yes,I think it's 는 나쁜 생각이 아니다. Don't get me wrong,그 이유는 그것을 하는 소리가 좋은,그러나 결과될 수 있습 끔찍하다.
당신이 충돌 당길 때 추적된 지점이어야 나는 두려움이 될 수 있는 경우,제가 잘못 될 수도 있지만.
I don't 을 테스트하려면 지금 그것을 직장에서,하지만 당신은 그것을 시도해야합니다 나 자신입니다.
사실 당신은 확인할 수 있습니다 밖으로 최근 commit. 새로운점,커밋이 무언가를 치 사,체리를 선택하거나 병합은 없 자동.
한 후 실행하는 스크립트,풀과 당신의 결과입니다 끔찍한 병합 혼란에,당신은 사람들과 함께 공유하지 않는 이에,일광입니다.
할 수 있습니다 대신에 잠재적으로 넣어나는 밤에나 주간니다.
그러나 심지어는 야간에 있는 나쁜 생각이 아니다.
할 수 있는 하나 그것을 실행 주간,확신하는 경우에 없을 충돌이 발생하기 때문에 모든 것이 완성되는 월요일에.
그렇지 않으면 그것을 실행에 1~2 회 년에 휴가 시즌이면 충돌이 발생하지 않습니다.
그러나 솔루션에 따라 달라질 수 있습니다 당신의 우선 순위를 위해 코드 스타일입니다.
나는 생각을 만드는 설치 스크립트를 자동으로 만드는 자식 저장소를 설정 후크 프로젝트에 대해 더 좋을 것이다.
거나 당신은 포함될 수 있습니다 걸이 설치 스크립트 폴더에 대한 귀하의 devs 프로젝트에서 단순히 체크인으로 git 자체입니다.
그는 끔찍한 생각입니다.
는 경우 하나의 개발자들이 무상 변화하는 원본 파일에,그것은 없을 통과하는 코드를 검토합니다. 그것은 단지는 생활이 어려워니다. 를 변경해야 하는 코드는 변화하는,다른 아무것도 있습니다. 무의미한 변화도를 병합하는 갈등으로 이어질 수 있는 오류를 만드는 무의미한 일이다.
당신이 원하는 경우 정기적으로 이는 끔찍합니다.
그리고 거기 질문이 어떤 종류의 코드를 변경하여 포맷합니다. 내가 사용하여 자동 형식 내 편집,이,합리적으로 잘 작동하고 향상시킬 수 있습니다 것을 때 자동적인 포맷입니다. 사용하는 경우에는 코드를 포맷을 넘어서는,당신은 당신이 향상되지 않 코드에,당신은 그것을 더 나쁘다.
그리고 거기에는 사회적 문제입니다. 이하고 싶은 사람들이 힘을 사용하는 모든 사람이 자신의 코드 스타일,그리고 더 많은 유연한 사람들이다. 같은 뭔가가 이에 해당될 수 있을 것입에 의해 제안"문법 나"(맞춤법적)유형의 개발자들을 힘이 그들의 스타일에 다른 사람. 기대하고 반발하고,유연성,일반적으로 쉽게가는 개발자들이 그들의 발 아래로.
지't 언급 벤처 캐피탈을 사용할지에 따라는 또 다른 옵션은 서버 사이드 후크. VCS git 같은 지원합니다. 설치할 수 있습 단절 측 걸이를 실행하는 포맷터 버전에 밀려고 다음을 비교한 형식의 파일에 대전되고 있다. 면 그들은 다른 개발자 사용하지 않는 올바른 형식과 서버할 수 있었을 거부합니다. 이것은 강요를 밀어 코드는 원하는 포맷 따라서 그들을 격려 쓰는 청결한 코드의 시작 부분에서,그것은 확대에 대한 책임을 갖는 테스트는 올바른 형식의 코드고 완화콘서 수동으로 클라이언트 측의 후크.
이는 아이디어와 비슷하는 몇몇 다른 답변,하지만 나는트 내 제안입니다.
하나 옵션을 설정하는 것이 별칭(또는 연결,또는 어떤)commit 기능,실행하는 코드를 포맷터에 수분 코드기 전에 최선을 다합니다.
그것은 있을 수 있었 2(또는 그 이상)결과:
1)표시 사용자는 제안된 변경을 요청의 승인을 적용하며 변경 내용을 적용합니다.
2)을 무시하는 제안의 변화와 투입 원래 코드입니다.
을 추가할 수도 있습니다 더 유연성을 이 옵션을 편집 할 수있는 기능 변경 사항을 제안서에서 옵션 1 을 선택합니다. 또 다른 아이디어(는 방법에 따라 하드를 푸시하고 싶은 이러한 코딩 기준)는 시스템을 보의 일종 때 옵션은 2 선택합니다.
이 될 수 있습의 균형 자동차 검사는 모든 코드는,당신이 원하는 것을 허용하면서 유연성이 개발자에게 있습니다. 그것은 또한 옵션을 사용할 수 있을지'자동차 거부를'코드 형식의 차이로에서 언급한 다른 답변이 있습니다. 와'가 검토 및 승인하는 자동적인 포맷 수정 commit'옵션,그것은 여전히 유지 개인의 책임에 대한 각각의 개발 작업하고는't mess with VCS.
나't do it 에서 저장소의 그러나 나는 그것을 할 것입니다에 저장하는 경우는 도구를 지원합니다. Eclipse 중 하나이며 또한 내가 하는 코드는 정리를 포함하여 정렬됩니다.
좋은 부분은 그것은 프로젝트의 일부입니다 그래서 모든 개발자를 위해 그것을 얻을 것이 그들의 프로젝트입니다.
추가 보너스로 병합하는 것이 크게 간소화된 이후지 않을 것이 주위에 점프.
코드 리뷰를 막을 것이 어떤 잘못된 것들입니다.
다른 장소 당신이 그것은 그것의 일부를 구축. 내 경우에는 그러한 사용을 빌드시 포맷 XML 및 정 pom 파일 포맷의 코드입니다.
는 방법 개발자들은 준비를 밀어 그것은 모든 청소한의 요청을 합니다.