2011-01-05 2 views
1

아래의 두 번째 들여 쓰기 방법에 대한 일반적인 의견은 무엇입니까?점 앞에 공백을 사용할 수 있습니까?

// Normal indentation 
a.Value  = "foobar"; 
ab.Checked  = false; 
foo.Value  = "foobar"; 
foobar.Checked = true; 

// Spaces before the dot to align the properties/methods 
a  .Value = "foobar"; 
ab .Checked = false; 
foo .Value = "foobar"; 
foobar.Checked = true; 

이것은 위키 일 것입니다. 그러나 권한이 충분하지 않거나 변경 방법을 모르겠습니다.

편집

나는 같은 들여 쓰기 스타일이 유용 할 수 있습니다 더 나은 쇼에 또 다른 예를 추가하기로 결정했습니다.

fooA .PropertyA = true; 
foobarB.PropertyA = true; 

VS2010의 새로운 멀티 라인 편집 기능을 사용하면 모든 라인에서 PropertyA를 변경하는 것이 훨씬 쉬울 것입니다.

또한 C#에서 도트가 드문 경우가되기 전에 공백과 줄 바꿈을 사용하고 있습니다 (LINQ 참조).

+0

이 형식을 사용하여 달성하려는 목표는 무엇입니까? 처음으로 코드를 보는 사람의 신발에 자신을 상상하는 경우이 속성을 들여 쓰기로 독자에게 전달하려고하는 것은 무엇입니까? –

+0

첫 번째 예제가 일반적인 들여 쓰기인지 여부를 질문합니다. VS는 기본적으로 할당의 정렬을 유지하지 않습니다. –

+0

나는 푸시 할 때 정상적인 방법을 받아 들일 것이다.그러나 나는 보통 생각하는 공간이 전혀 없다. – Kurru

답변

0

나는 항상 "들여 쓰기"를 사용했습니다. 다른 방법은 그 자연의 들여 쓰기를 기대하지 않기 때문에 나에게 덜 명확하게 보입니다.

+0

그 자연의 들여 쓰기를 기대한다면 더 분명 할까? 나는 이것이 lambdas와 같은 새로운 구문 기능으로 전환하는 것과 비슷하다고 생각합니다. 그것에 익숙해지기 전까지는 적어도 나에게 새로운, 람다는 나에게 잘못된 코드처럼 보입니다. – Rudy

2

나는 결코 개인적으로 사용하지 않을 것입니다.

a.Value = "foobar"; 
ab.Checked = false; 
foo.Value = "foobar"; 
foobar.Checked = true; 

본인은 눈이 즐겁지는 않지만 다른 사람이 덜 이상적이라고 생각합니다. 인
이유 : -

  1. 유지하기 위해 열심히는 : 때때로 당신은 작거나 큰 변수 이름이, 또는 당신은 모든 항목의 서식을 조정해야 의미 코드에서 다른 변수를 도입 할 수있다.
  2. ReSharper (표준 VS? 포함 가능)를 ;과 함께 사용하는 경우 서식이 어쨌든 줄에 다시 조정되므로 서식을 지정하지 않아도됩니다. 이러지 마.
  3. 저는 지금 당장 생각할 수 없지만 두 점만 처리 할 수는 없습니다.

편집! 다른 지점의 생각. 예를 들어 ReSharper를 사용하여 ReSharper를 사용하여 foo, enter/tab (자동 완성을 확인), tab 번 x 가변 길이의 탭 (귀찮음)까지 입력하면 . , Value, tab는 자동 완성 확인하기 위해 다시 = 다음 할당 데이터를 다음 ; 내가 점 2에 표현 된 내 모든 비표준 포맷이 취소 되었기 때문에 다음 Visual 스튜디오에서 소리, 그래서 CTRL + Z의 마지막 기자은 방금 가져온 형식을 복원합니다. :)

+0

예 CTRL-Z를 자주 사용하여 자동 서식을 실행 취소해야했기 때문에 그다지 신경 쓰지 않습니다. 하지만 여전히 가독성이 유지 가능성보다 먼저 올 것이라고 생각합니다. – Rudy

0

모든 속성/메서드가 동일한 경우에만 점 앞에 공백을 사용합니다. 귀하의 예에서와 같이 그것이 속성의 혼합, 나는 '정상'을 고수하고 싶습니다.

그러나 비주얼 스튜디오 자동 서식 파일은 다음 번에 누군가가 }을 입력하여 모든 둘러싸는 블록을 닫을 것이기 때문에 비현실적인 점이라고 생각합니다.

+2

정확하게, 왜 IDE와 싸워야합니까? – Greg

+0

확실한 인수는 다음과 같을 것입니다. IDE에서 적용한 자동 서식을 사용하지 않도록 설정하거나 취소하거나 (가능한 경우 원하는 서식을 생성하도록 IDE를 구성 할 수도 있습니다). 더 읽기 쉬운 코드를 작성하는 것이 목표이고 IDE에서 코드를 읽기 쉽게 만드는 경우 IDE에서 코딩 스타일을 지정하게하는 것은 의미가 없습니다. – Rudy

0

C# 언어 관점에서 허용됩니다.

첫 번째 스타일은 두 번째 스타일에 비해 읽기가 쉽습니다. 필자는 점 앞의 공백이 매우 이상하게 보였기 때문에 생각합니다. 대부분의 필기 언어에서 점 앞에 공백이 없습니다.

저는 개인적으로 VS IDE와의 싸움을하지 않습니다. 기본 스타일은 나와 잘 맞습니다.

비례 글꼴을 사용하면 이러한 서식이 완전히 손상됩니다 (이러한 글꼴을 사용하면 코드를 편집하는 데 극히 드문 것이지만 주위에 묻습니다).

편집 : 유창한 인터페이스를 위해 공백 (+ 새 줄)을 사용하면 잘 보입니다 (http://en.wikipedia.org/wiki/Fluent_interface#C.23).

5

점 앞에 공백이 있습니까? 친애하는 신!

0

나는 두어 번 시도했다. 그것은 뒤늦게 보아서 행복해하지 않았습니다.

나는 항상 옳은 상황에서 작동 수있는 '점'에 맞춰 생각 :

// ----------------------- 
// decimal-style alignment 
// ----------------------- 
    a.Value = "foobar" ; 
    ab.Checked = false ; 
    foo.Value = "foobar" ; 
foobar.Checked = true  ; 

하지만 당신은 페이지 아래로 눈을 리드하고 들여 쓰기 수준의 감각을 유지하고 깨끗한 왼쪽 여백을 잃게됩니다. 따라서 연결하는 식별자로 점을 유지하는 데 다시 돌아 왔습니다.

// ----------------------- 
// tabular coding 
// ----------------------- 
a.Value  = "foobar" ; 
ab.Checked  = false ; 
foo.Value  = "foobar" ; 
foobar.Checked = true  ; 

밖에있는 것을 발견 할 수있는 가능성 하나 하나가 하나의 코드에 부과 더 많은 순서 : 그것은 순서에게 전체 집합을하는 데 도움이 그러나 ... 등호를 정렬

좋은 연습입니다 구타.

파서는 깔끔하고 읽기 쉬운 코드는 신경 쓰지 않지만 컴파일러는 코드의 대상 대상이 아닙니다. 귀하의 타겟 고객은 그것을 읽고 이해해야하는 다른 인간입니다. 특히 가난한 사람이 너일지도 몰라! — 서둘러 코드를 집어 들고 이해를 돕기위한 문서없이 3 년에서 5 년 후에 고쳐야합니다.

+0

예, 이것은 공백 글자 - 들여 쓰기 스타일에 대한 나의 동기입니다. 코드가 덜 보이게 보이게하고 더 많은 것을 스펙처럼 읽으려면. – Rudy

0

점을 찍을 때 공백을 보자 마자 코드를 읽으므로 공백이 보이 자마자 점을 찾는 것을 멈추기 때문에 나는 결코하지 않을 것입니다. 점 뒤에있는 공백은 과거에 했었지만 거의 사용하지 않았고 실제로 사용하지 않는 것을 선호합니다. 이와 같은 스타일을 사용할 때의 문제점은 더 읽기 쉽다고해도, 큰 도약 (점 앞의 공백을 의미)을 "표준"으로 간주 할 수있는 것부터 취하면 더 많은 것을 방해하게된다는 것입니다 도움보다 사람. 팀이나 직장에서 표준을 고수하는 것이 가장 중요합니다. 흑백 표준이 아니더라도 회사의 다른 99 명의 개발자가 VS 표준을 사용하고 점을 배치하기 전에 모든 간격을 조정하면 아무 것도 향상시키지 못합니다.

관련 문제