2012-06-18 12 views
2

두 명의 크로노 미터로 바다에 가지 말고 두 개의 시계를 착용한다고 말합니다. 신뢰할 수있는 것을 사용하거나 3 개 (또는 그 이상)를 사용하여 "다수 규칙"을 사용하십시오.변수를 명시 적으로 또는 암시 적으로 입력해야합니까?

그래서 다른 코드 리팩토링 도우미를 설치해야합니까? 아니면 그 중 하나를 제거해야합니까? 나는 두 가지를 설치, 그들은 앞뒤로 코드 여부를이 라인을 통해 말다툼됩니다

using (StreamReader file = new StreamReader(ChemicalMakeupOfEveryDropOfWaterInTheMississippi)) 
이 이

...이 대신해야한다 :

using (var file = new StreamReader(ChemicalMakeupOfEveryDropOfWaterInTheBigMuddy)) 

내가 명시 적으로 유형을 지정하는 경우, 도구 전구 제본 용 아이콘은 나에게 말한다 함께 :

"암시 적으로 형식화 된 로컬 변수 선언을 사용하여 | 'var에'사용"나는 묵인 경우

을하고는에 명시 적으로 변환 할 수 있습니다 암시 적으로 다른 도구 (거터에 연필 아이콘이있는 도구)가 튀어 나와 "명시 적으로 형식 지정"하고 'var'을 'StreamReader'로 다시 변경합니다.

명시 적으로 변경되는 무한 루프에 갇혀 있습니다. 내재적이고 다시. 내 걸릴 그것은 중요하지 않습니다,하지만 난 StackOverflow 군중의 지혜 로이 수수께끼를 던져.

+2

명백한 타이핑이 불가능한 경우를 제외하고, 선택은 전적으로 개인적인 취향이다. 코드 하나만 선택하면됩니다. –

+0

이것은 StackOverflow에 대한 부적절한 질문입니다. 토론, 추측 및 의견이 필요합니다. "건설적이지 않은"것으로 결론을 내리는 투표. [FAQ] (http://stackoverflow.com/faq)는 이러한 종류의 질문이 디자인에 적합하지 않음을 분명히합니다. –

+1

이 토론은 여기에서 매우 철저하게 다루어졌습니다. 다시 생각할 필요가 없습니다. 특히 이것들이 의견의 문제라고 생각하면됩니다. –

답변

3

필자는 명시 적으로 입력 한 변수를 선호하기 때문에 독자가 코드가하는 일을보다 빨리 파악할 수 있습니다. 또한 어떤 유형의 코드가 사용되는지 정확히 알지 못하기 때문에 개발 중에 많은 오류를 방지하는 데 도움이되는 코드를 작성할 때보다 엄격한 유형 안전성 (코드 관점을 읽은 사용자)을 강화하는 데 도움이됩니다.

암시 적 형식화 된 변수는 다양한 익명 형식이 반환 될 때 linq 쿼리 중에 사용해야한다는 유일한 의견입니다.

+2

명시 적 암시 적 타이핑은 정확히 동일한 유형 안전성을 갖습니다. * 컴파일러 *는 변수가 어떤 유형인지 항상 알고 있습니다. –

1

아무런 차이가 없습니다. 두 버전을 모두 사용할 수 있습니다.

1

선언문이 비합리적인 공간을 차지하거나 부당하게 복잡하지 않거나 유형이 정확히 무엇인지 확실하지 않으면 명시 적으로 입력해야합니다. 일반적으로 가독성을 높이고 논리를 쉽게 따르게합니다.

그러나 위에서 언급 한 예외가 발생하는 경우에는 가독성을 높이기 위해 암시 적으로 형식을 지정하십시오.

Var 또한 중간 결과가있을 때 컬렉션을 통해 정렬하는 데 적합합니다.

+1

나는 정확한 반대를 발견한다. 명시적인 타이핑은 중복되거나 불필요한 정보로 안구 사이클을 낭비하는 경우가 많습니다. 나는 암묵적으로 모든 것을 타이핑한다. –

1

그 중 하나를 제거하거나 다시 구성하십시오. 내가 할 수있는 곳에서 노골적으로 표현하는 것이 더 좋지만 ... 나만 그렇다. ...

관련 문제