2008-11-12 4 views
3
some_var = foo() 
another_var = bar() 

또는 라인을 추가하거나이 줄을 유지하기 위해 제거 할 때 공백을 변경 포함 통신 수를 가치있는 스타일로 정렬합니까?

some_var = foo() 
another_var = bar() 

. 이게 정말 좋아 보이니? diff를 망칠 가치가 있니?

+0

diff는 어떻게 작성하고 있습니까? 공백의 변경 사항을 무시하도록 지정하십시오. –

답변

4

VCS 관리자로서 근무한 이래로 diff를 사용하지 않는 문체는 거의 없습니다. 우리는 개발자가 성 변경 절차를 통해 이름을 변경했으며, 새 이름은 같은 이니셜을 사용하지 않았습니다. 그녀는 프로그램에서 일할 때마다 그녀의 이전 이니셜을 새로운 것으로 바 꾸었습니다. 그 때문에 많은 짜증이났습니다.

+0

그런 상황은 "보풀"이 분리되고 중요한 변경 사항을 숨길 가능성이 적어 지도록 두 가지 변경으로 나눠야합니다. 기억하기가 어렵다. – Diastrophism

+0

그래, 성가시다.하지만 성 변경 사이에서 선택해야하고 이름 변경 때문에 2000 년 차이로 살면 분명히 무엇을 선호하는지 알고있다. 그녀가 새로운 삶에 행복하기를 바랍니다. –

1

아니,이 같은 변수 사이에 수직 관계가 아닌 :

some_var[ 1] = "foo"; 
some_var[100] = "bar"; 

하지만 경우 내가 몇 변수를 가질 특히, 나는이 작업을 수행하는 것이 매우 드물다. 이것은 하나의 줄에 매개 변수 이름, 유형 및 기본값 (세 부분)을 가질 수있는 SQL에서 좀 더 보편적이지만, 심지어 거기에서 나는 그것을 피하려고 노력합니다 - 번거 로움을 감당할 가치가 없습니다.

@some_var varchar(25) = NULL 
@another_var varchar(1000) = '' 
@one_more int = 0 
9

나는 그것이 너무 열심히 (다시 그들을 안감의 모든 일을해야 할), 나를 위해가 추가없이 완벽하게 읽을 수있는 변경을 할 수 있기 때문에 좋은 스타일을 생각하지 않습니다 공백

특히 이것에 대해 짜증나게하는 것은 다른 모든 줄보다 긴 줄의 왼쪽 부분을 변경하면 다시 다른 줄을 모두 정렬해야한다는 것입니다.

예 :

some_var = foo() 
another_var = bar() 

지금 내가 var에 another_another_var라고 추가 할 :

some_var   = foo() 
another_var   = bar() 
another_another_var = baz() 

매우 성가신 :

some_var = foo() 
another_var = bar() 
another_another_var = baz() 

가 지금은 다시 정렬해야합니다.

1

번호

일부는이 스타일 리팩토링 또는 코드를 수정 때를 포맷하는 데 걸리는 시간을 포함하여, 이러한 방식으로 시간 낭비를 변수를 정렬 할 구문 강조와 ascetically 기쁘게, 현대 십오을 찾을 수 있지만.

또한 저는 변수를 필요한 범위에 가깝게 선언하는 확고한 신봉자입니다. 드물게 변수 선언의 블록이 정렬 될 필요조차 없습니다.

2

Perl을 사용하면 환경 설정을하고 코드를 통해 perl-tidy를 실행할 수 있습니다.

올바른 상황에서 어떻게 정렬하는 것이 가장 좋고 스스로하는 것을 잊지 않고 걱정할 필요없이 올바른 컨텍스트에서 정렬 된 값의 깔끔함을 제공합니다.

또한 프로젝트에 사용한 코딩 스타일이 무엇이든 관계없이 강력하게 유지해야합니다.

스타일을보다 일관적이고 엄격하게 적용할수록 코드 사이에서 기이함과 프로그래밍 오류를 쉽게 발견 할 수 있습니다.

또한 코딩 스타일 의 일부 시행 규칙은 좋은 줄 바꿈 규칙을 적용하여 장기적으로 diff 충돌 기반 문제를 줄입니다.

1

눈과 같은 스타일로 인해 수직으로 이동합니다. 그러나 코드는 가로로 읽어야합니다. 코딩 스타일은 눈이 그걸로 싸우는 대신에하는 것을 보완해야합니다.

1

또한 극단적 인 경우 큰 간격으로 인해 할당이 어디로가는 지 부담스럽지 않게됩니다. 헤더 파일에서 너무 자주 볼 수 있습니다.

... 
some_important_number            = 348273; 
initial_message_prefix           = "foo"; 
another_important_number           = 348711; 
max_bucket_sz              = 456; 
... 

블록 수십 개를 읽으면 읽기가 어려워집니다.

+0

당신이 과장 하시길 바랍니다. : P –

+0

슬프게도, 없습니다. 이 예제는 가상의 것이지만 실제로 경험 한 것입니다. – Diastrophism

관련 문제