«c#» 태그된 질문

C #은 Microsoft에서 .NET 플랫폼과 병렬로 생성 한 다중 패러다임, 관리, 가비지 수집 개체 지향 프로그래밍 언어입니다.

5
대 foreach 대 LINQ
Visual Studio에서 코드를 작성할 때 ReSharper (God bless!)는 종종 구식 학교 for 루프를보다 간결한 foreach 형식으로 변경하도록 제안합니다. 그리고 종종이 변경 사항을 수락하면 ReSharper는 한발 더 나아가 반짝이 LINQ 형식으로 다시 변경하도록 제안합니다. 그래서, 나는 이 개선에 몇 가지 진정한 장점이 있습니까? 아주 간단한 코드 실행에서는 속도 향상을 볼 수 …
86 c#  linq 

11
정적은 단위 테스트를 위해 보편적으로“악”입니까? 그렇다면 Resharper가 권장하는 이유는 무엇입니까? [닫은]
C # .NET에서 정적 인 단위 테스트 (모의 / 스텁) 종속성을 3 가지 방법으로 만 발견했습니다. 두더지 TypeMock 저스트 모크 이 중 두 가지가 무료가 아니며 하나가 릴리스 1.0에 도달하지 않았으므로 정적 항목을 조롱하는 것은 쉽지 않습니다. 정적 메소드와 "악한"(단위 테스트 의미)을합니까? 그렇다면 왜 resharper가 정적, 정적 일 수있는 것을 …

4
리치 도메인 모델 — 행동이 정확히 어떻게 적용됩니까?
Rich vs. Anemic 도메인 모델에 대한 토론에서 인터넷은 철학적 조언으로 가득하지만 권위있는 예는 부족합니다. 이 질문의 목적은 적절한 도메인 기반 디자인 모델의 결정적인 지침과 구체적인 예를 찾는 것입니다. (이상적으로 C #에서) 실제 예에서이 DDD 구현은 잘못된 것 같습니다. 아래의 WorkItem 도메인 모델은 Entity Framework에서 코드 우선 데이터베이스에 사용하는 속성 모음 …

8
마법 값을 반환하거나 예외를 던지거나 실패시 거짓을 반환합니까?
때로는 실제 답변이없는 것이 예외가 아닌 클래스 라이브러리에 대한 메소드 또는 속성을 작성 해야하는 경우가 있습니다. 확인할 수 없거나 사용할 수 없거나 찾을 수 없거나 현재 사용할 수 없거나 더 이상 사용할 수있는 데이터가 없습니다. C # 4에서 실패를 나타내는 비교적 예외적이지 않은 상황에 대한 세 가지 가능한 솔루션이 있다고 …

11
Java 개발자가 의식적으로 RAII를 포기 했습니까?
오랜 C # 프로그래머 인 저는 최근에 RAII ( Resource Acquisition Is Initialization) 의 장점에 대해 더 많이 알게되었습니다 . 특히 C # 관용구를 발견했습니다. using (var dbConn = new DbConnection(connStr)) { // do stuff with dbConn } C ++에 해당합니다. { DbConnection dbConn(connStr); // do stuff with dbConn } …
82 java  c#  c++  language-design 

10
예외, 오류 코드 및 차별적 노동 조합
최근에 C # 프로그래밍 작업을 시작했지만 Haskell에서 상당한 배경 지식을 얻었습니다. 그러나 C #은 객체 지향 언어라는 것을 알고 있습니다. 둥근 못을 사각형 구멍에 강요하고 싶지 않습니다. 나는 Exception Throwing Microsoft에서 기사를 읽었습니다 . 오류 코드를 반환 하지 마십시오 . 그러나 Haskell에 익숙해 져서 C # 데이터 형식을 사용하여 OneOf결과를 …
80 c#  exceptions 

6
C #에서 유창하게 갈 때?
많은 측면에서 저는 Fluent 인터페이스의 아이디어를 정말 좋아하지만 C #의 모든 현대적인 기능 (초기화 기, 람다, 명명 된 매개 변수)을 사용하여 "그만한 가치가 있습니까?"라고 생각합니다. 사용하다?". 누구나 유창한 패턴을 사용할 때 자신의 경험이나 의사 결정 매트릭스를 받아 들일 수있는 연습이 아니라면 나에게 줄 수 있습니까? 결론: 지금까지 답변에서 얻은 좋은 …
78 c#  .net 

17
코딩 가이드 라인 : 메소드는 7 개 이상의 명령문을 포함하지 않아야합니까?
나는 C #에 대한 AvSol 코딩 지침 을 살펴 보았고 거의 모든 것에 동의하지만 다른 특정 규칙에 대해 어떻게 생각하는지 궁금합니다. AV1500 방법이 7 개 진술을 초과해서는 안됩니다. 7 개 이상의 진술이 필요한 방법이 너무 많은 일을하거나 너무 많은 책임이 있습니다. 또한 인간의 마음이 정확한 진술을 분석하여 코드가 수행하는 작업을 …

11
테스트 목적으로 코드를 엄격하게 수정하는 것은 나쁜 습관입니까?
프로그래머 동료와 토론하여 작업 코드를 수정하여 테스트 할 수 있도록 (예 : 단위 테스트를 통해) 좋은지 나쁜지에 대한 토론이 있습니다. 제 생각에는 좋은 객체 지향 및 소프트웨어 엔지니어링 관행 ( "모든 것을 공개하는 것"등)을 유지하는 한도 내에서 괜찮다는 것입니다. 내 동료의 의견은 테스트 목적으로 만 코드를 수정하는 것이 잘못되었다는 것입니다. …

8
C #에서 "yield"키워드의 실제 사용
거의 4 년의 경험 끝에, yield 키워드가 사용되는 코드를 보지 못했습니다 . 누군가이 키워드의 실제 사용법 (설명과 함께)을 보여 줄 수 있습니까? 그렇다면 가능한 방법을 쉽게 채우는 다른 방법이 있습니까?
76 c#  syntax 

9
왜 부분 클래스를 사용합니까?
내 이해에서 partial키워드는 아무것도하지 않고 클래스를 여러 소스 파일로 나눌 수 있습니다. 코드 구성 이외의 다른 이유가 있습니까? 생성 된 UI 클래스에서 사용되는 것을 보았습니다. 전체 키워드를 작성하는 것은 좋지 않은 이유입니다. 클래스가 여러 파일을 요구할만큼 충분히 큰 경우에는 너무 많은 작업을 수행했을 수 있습니다. 다른 프로그래머가 완성 할 클래스를 …

5
C #에서 'using'지시문을 사용하지 않는 이유는 무엇입니까?
대규모 C # 프로젝트의 기존 코딩 표준에는 '사용'지시문의 고용을 금지하는 모든 유형 이름의 정규화 규칙이 포함되어 있습니다. 따라서 익숙한 것이 아니라 using System.Collections.Generic; .... other stuff .... List<string> myList = new List<string>(); ( var금지 된 것도 놀라운 일이 아닙니다 .) 나는 결국 : System.Collections.Generic.List<string> myList = new System.Collections.Generic.List<string>(); 유용한 정보를 …

7
C #에서 확장 메서드가있는 인터페이스 대신 추상 클래스를 사용하는 경우
"Abstract class"와 "interface"는 비슷한 개념으로, 인터페이스가 두 가지 중 더 추상적 인 개념입니다. 차별화 요소 중 하나는 추상 클래스가 필요할 때 파생 클래스에 대한 메소드 구현을 제공한다는 것입니다. 그러나 C #에서는 최근에 확장 메서드가 도입되어이 차별화 요소가 줄어들어 인터페이스 메서드에 대한 구현을 제공 할 수 있습니다. 또 다른 차별화 요소는 …


8
명명 문제 : "문제"의 이름이 "뭔가"로 바뀌어야합니까? [닫은]
Clean Code의 이름에 대한 Bob Uncle 장의 이름은 주로 헝가리 표기법에 관한 이름의 인코딩을 피하는 것이 좋습니다. 또한 I인터페이스 에서 접두사를 제거하는 것에 대해 구체적으로 언급 하지만 이에 대한 예제는 표시하지 않습니다. 다음을 가정 해 봅시다. 인터페이스 사용은 주로 의존성 주입을 통해 테스트 가능성을 달성하는 것입니다. 대부분의 경우 단일 구현 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.