2010-01-27 3 views
14

근본적으로 다른 코딩 스타일로 프로그래머와 함께 일한 사람이 있습니까? 서로 다른 코드를 삭제하고 다시 쓰지 않고 어떻게 함께 즐거운 시간을 보냅니 까?근본적으로 다른 코딩 스타일로 프로그래머와 어떻게 일합니까?

+1

왜이 점이 중요합니까? 그들의 재료는 효과가 있습니까? 왜 똑같이 보일까요? –

+8

@ S.Lott : 그것은 diffs를 엉망으로 만들 것입니다. –

+5

@ S.Lott : 코드를 많이 읽습니다. 코드를 이해하는 데 익숙하지 않은 스타일을 사용하는 것이 어려우면 유지 관리 비용이 추가 될 수 있습니다. – Grundlefleck

답변

8

하나를 선택하고 함께하십시오.

당신이 열심히 동의를 포함하여 장단점을 나열 할 시간이 걸릴 찾는 경우 자동 서식에 대한

  • 도구 지원 (내가 이클립스 및 Visual Studio를 사용하여이 작업을 수행 할 수 알고 아무 렇게 설정) 썬이 자바의 표준 규칙을 게시 한 일반 산업 표준 (에
  • 적합성을 파일, 아마도 언어에 상응하는가?)
  • 기존 소스 코드 () 하나의 스타일에 백만 개의 라인이있는 경우 해당 코드를 새로운 스타일로 업데이트하는 것이 얼마나 힘듭니다?)는
  • ... 당신이 중 하나를 찾을 수있는 다른 요인은 자신도 누군가와 함께 작업을 찾을 경우 (이 새로운 스타일)

에 익숙해 비용을 포함 할 수 있습니다 중요하다 고집스럽게 변화하고 적응해야합니다. 음, 코드 스타일을 충돌하는 것보다 더 큰 문제가 있습니다.이 문제는이 문제의 범위를 벗어납니다.

당신이 당신의 스타일을 적응시키는 사람이라면 "우리가 길을 선택했다면 ..."이라는 문구를 피하십시오. 당신이 하나의 스타일에 동의했다면, 그것에 완전히 전념하십시오.

이 시점에 도달하기 전에 일관성있는 코드를 사용하면 어떤 이점이 있습니까? 일관된 코드 비용 (다른 개발자를 성가 시게하는 것)이 이점을 누릴만한 가치가 없다는 것을 알 수 있습니다.

+0

나는 네 생각을 생각해. 그것의 우선 순위에 대해. 나는 2 명의 사람들이 같은 스타일을 가지지 않을 것이라는 것을 안다. 그러나 중요한 것에 동의하십시오. 감사. –

6

표준 코딩 스타일에 동의하고 Visual Studio 설정 파일 형식으로 적용합니다.

+0

이 질문에 정말 답을 찾을 수 없습니다. 이것은 OP가 요구하는 "표준 코딩 스타일에 동의"입니다. 특정 도구의 메커니즘이 아닙니다. 그건 그냥 지나친 것 같아. – Grundlefleck

+1

@Grundlefleck : 한 사람이 의도적으로 종교적 논증을하고 싶지 않으면 심각한 문제는 아니라고 생각합니다. (그렇다면 더 큰 문제가 있습니다). 실제 문제는 설정 파일을 사용하여 IDE에서 수행하는 습관 대신 코딩 스타일을 적용하는 데 있습니다. –

+0

@ 자신 : 철회. – Grundlefleck

5

다른 개발자와 통신하십시오. 두 세계의 장점을 결합한 코딩 스타일에 동의하십니까?

6

그건 인간의 의사 소통 문제입니다. 그냥 서로 이야기하십시오. 직접 코드를 통해서가 아닙니다. 전체에 코드 스타일 지침을 강제 할 수있는 팀 리더, 또는 프로젝트 관리자 (기술적 인 경우) - (Checkstyle, PMD 자바의 경우) 스타일 검사 플러그인과 함께 IDE를 사용하여

+0

다른 사람이 "나는 항상이 스타일을 사용했고 변경하지 않을 것입니다. 다른 스타일을 사용해도 상관 없습니다."라고 말하면 어떻게됩니까? – Anonym

+6

상사에게 중재를 요청하십시오. 그가 보스라면, 당신은 그의 스타일을 채택합니다. 그의 스타일이 그렇게 나빠서 사장님이 아니라면 다른 직업을 찾거나 함께 사세요. – tvanfosson

4
  • 팀.

  • 그의 스타일을 무시했습니다. 저는 일부 개발자들이 새로운 라인에 중괄호를 쓰고 있었고, 일반적으로 필요한 곳에 공간을 잊어 버리는 경향이있는 Java 프로젝트에서 작업했습니다. 주먹 주 후.

  • 은 코드 스타일을 논의하고 손상된 다음 첫 번째 지점에서 언급 한 IDE 기능을 적용합니다.

0

여러분 모두에게 적합한 스타일을 고안해야합니다. 그리고 의사 소통이 문제가된다면 아이디어에 충실하십시오. "내 자신의 글을 쓸 때 다른 코드를 건드리지 않아야합니다."

4

"코딩 스타일"이란 말은 형식을 지정하거나 코드를 구성하는 방식의 차이를 의미합니까?

코딩 스타일은 팀이 스타일 포맷터를 갖고 커밋하기 전에 일종의 형식을 적용해야합니다. 이 방법으로 병합하면 합병이 미칠 수 없습니다.

코드의 구조적 차이로 인해 쉽게 해결할 수 없습니다. 하드 코어 스파게티 코더라면 광신적 인 객체 코더 대 테이블에 앉아서 두 가지 접근 방식을 논의하고 특정 프로젝트에 어떻게 적용해야 하는지를 논의해야합니다. 절대적인 대답은 없다는 것을 기억하십시오. 모두 문맥에 달려 있습니다. 모범 사례 권장을 존중하고 코드 유효성 검사를 위해 코드 검토를 수행하고 일반적인 접근 방식 (기술 리더 또는 기술 PM)을 결정하는 데 도움을주는 다른 사람에게의 의지를 시험해보십시오.

+0

부품 간격 및보기 .. 그러나 일을하는 그것의 또한 방법. 나는 그의 코드를보고 그것을 쉽게 확장 할 수 있기를 원한다. 그리고 그에게 나의 코드. 우리는 우리 자신의 스타일 메서드를 호출하기 위해 일부 작업을 복제합니다. –

2

나는 완전히 다른 코딩 스타일을 가진 사람과 어울리는 데 필요한 "부드러운 기술"에 대해 대답 할 것입니다. 일반적으로 저는 세 가지 간단한 원리에 초점을 맞추려고합니다. 전문성, 신뢰 및 자아.

전문성 측면에서 누군가의 코드가 자신의 스타일과 다르기 때문에 단순히 코드를 다시 작성하거나 삭제하는 것은 용납되지 않습니다. 전문적인 접근 방식은 내가 왜 내 생각/스타일/선호도가 더 나은 것으로 간주하는지 이해하는 것입니다. 그렇다면 나는 다른 사람과 함께 앉아서 나의 요점에 대해 토론 할 것을 기대하며, 중요한 부분은 열린 마음을 지킵니다. 내 아이디어가 마음에 들었다고해서 그것이 옳다는 것을 의미하지는 않습니다. 진정한 전문가는 다른 사람들이 아이디어를 소중하게 여기며 다른 관점에서 온다는 사실을 기꺼이 받아 들일 수 있습니다.

나는 개인적으로 동료 개발자를 신뢰할 필요가있다. 오래된 말은 믿음은 가져 오지 않아야하고 소프트웨어 개발에는 사실임을 의미합니다. 정보, 아이디어 및 코드 공유와 같은 다양한 소스에서 신뢰를 구축 할 수 있습니다. 생산적인 팀은 대개 개발자들 사이에 묵시적인 신뢰를 가지고 있습니다.

사람들이 잘 모르는 주된 이유 중 하나는 자존심입니다. 우리의 자존심은 우리가 위협 받고, 우월하고, 당혹스럽고, 다양한 다른 인간의 감정을 느낄 수있게 해줍니다. 자존심을 떠나 다른 사람과 문제에 관해 이야기하는 것은 언제나 좋은 출발입니다.

1

매일 개발자들과 광산 및 개발자로서 크게 다른 코딩 스타일을 가진 개발자들과 협력해야합니다.

- 변환 할 사람이 인 경우 - 으로 변환 - 회사 표준을 제안합니다. - 함께 생활하십시오.

유형에 변수를 추가하는 것과 같은 경우 변수가 유추 할 수 있도록 설명이 충분해야한다고 주장하십시오.

personName 대 sPersonName 대 strPersonName < - 어느 것을 선택 하시겠습니까?

당신이 서식 의미하는 경우, 에서는 Ctrl-A는 < KF - 나는 하나의 다른 개발자가 나는 스타일을 코딩에 동의해야 누구와 함께있다가 드문 것을 발견 VS :

1

에 잘 코드를 포맷 다른 그룹이나 프로젝트는 스타일이 다릅니다. 다른 코딩 스타일에 적응하는 법을 배워야합니다.

두 사람 만있는 경우 사용하려는 공통 코딩 스타일에 동의해야하는 사용자가 두 명뿐입니다.

코딩 스타일에 동의 할 수 없다면 문제를 해결해야합니다. 생산적인 방식으로 작업 해보십시오. 즉, 다른 사람의 코드를 다시 작성하여 자신의 스타일과 일치시키지 않는 것입니다.

귀찮은 문체가있을 수 있으며 그 중점을 두는 것이 좋습니다. 스타일은 쉽게 종교 토론으로 바뀔 수 있으므로 변경에 대한 양적 또는 경험적 논증에 집중하는 것이 더 효과적입니다. 코드의 우아함과 실제 아름다움이 논점에서 이기지는 못하지만, 스타일이 바뀌면 불필요한 디버깅이 중단되는 사례를 보여주는 것이 효과적 일 수 있습니다.

1

다릅니다.

다른 개발자가 특히 쉽지 않은 경우 문제를 해결하기보다는 의견에 동의하지 않는 경우에도 프로그래밍 스타일로 이동하는 경향이 있습니다.이 경우에는 실제로 의 내용이 더 불편합니다. 그들의 코딩 스타일이나 슬픔은 내가 소란하게 만드는거야?

다른 개발자가 다음의 I/코딩 표준 명명 등을 논의 할 수있는 마음이 더 열려있는 경우

2

당신의 코딩 스타일이 아니다 (I는 전체 아키텍처 같은 것들 어쨌든 논의 될 것이라고 희망) 표준. 그의 코딩 스타일이 표준이 아닙니다. 규범은 프로젝트 또는 때로는 전체 조직에 의해 선택되는 코딩 스타일이며, 어딘가에 문서화되어야하며 둘 다 준수해야합니다. Checkstyle (Java 포함)과 같은 도구를 사용하여 적합성을 확인할 수 있습니다. 이러한 도구를 사용하는 경우 구성 파일을 배포하십시오. 또한 IDE 포맷 구성을위한 파일을 배포하십시오.

많은 오픈 소스 (또는 기업) 프로젝트가 이러한 원칙을 사용합니다 (예 : XWiki의 Java Code Style, Maven Code Style And Code Conventions 또는 Apache Developers' C Language Style Guide 참조). 이 기능은 전 세계에 분산 된 개발자에게 효과적입니다. 같은 방의 개발자에게는이 기능이 작동하지 않는다고 말하지 마십시오.

프로젝트에 코드 표준이없는 경우 몇 가지를 정의해야 할 때가 오며 두 명의 성인으로 할 수 있기를 바랍니다. (실제로는 팀 결정이어야 함). 필요한 경우 통일 코드 스타일이 중요한 이유를 상기시켜주십시오 (더 나은 가독성을 위해 diff 용). 슬프게도, 이것이 작동하지 않는다면, 상사가 당신을 결정하게하십시오.

관련 문제