«c#» 태그된 질문

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

6
.Net에서 약한 참조를 언제 사용합니까?
나는 개인적으로 .Net에서 WeakReference 유형을 사용해야하는 상황을 직접 보지 못했지만 캐시에서 사용해야한다고 생각합니다. Jon Harrop 박사는 이 질문 에 대한 답변 에서 캐시에서 WeakReferences를 사용하는 것에 대해 매우 좋은 사례를 제시 했습니다 . 또한 AS3 개발자가 메모리 공간을 절약하기 위해 약한 참조를 사용하는 것에 대해 이야기하지만 종종 의도 한 목표를 …

12
일반적인 예외를 잡는 것이 실제로 나쁜 일입니까?
나는 일반적으로 대부분의 코드 분석 경고에 동의하며이를 준수하려고합니다. 그러나 나는 이것으로 어려움을 겪고있다. CA1031 : 일반 예외 유형을 포착하지 마십시오 이 규칙의 근거를 이해합니다. 그러나 실제로 예외 발생에 관계없이 동일한 조치를 취하려면 왜 각각을 구체적으로 처리해야합니까? 또한 특정 예외를 처리하는 경우 나중에 호출하는 코드가 변경되어 새로운 예외가 발생하면 어떻게됩니까? 이제 …
56 c#  design  exceptions 

7
단일 책임 원칙-코드 조각화를 피하려면 어떻게해야합니까?
팀 리더가 SOLID 개발 원칙을 강력하게 옹호하는 팀에서 일하고 있습니다. 그러나 그는 복잡한 소프트웨어를 집 밖으로 가져 오는 데 많은 경험이 부족합니다. 우리는 이미 매우 복잡한 코드 기반에 SRP를 적용한 상황에 처해 있으며, 이제는 매우 조각화되어 이해하고 디버깅하기가 어렵습니다. 개인 또는 보호 된 클래스 내의 메소드가 '변경 이유'를 나타내는 것으로 …

8
왜 생성자가 아닌 Java 및 C #의 정적 기본 메소드입니까?
Java 및 C #에서 Application클래스 의 인스턴스로 애플리케이션 인스턴스를 표시하지 않고 (시작점으로) 정적 메소드를 시작점으로 결정한 이유에 대한 기본 또는 보조 소스에서 명확한 답변을 찾고 있습니다. 적절한 생성자). 나의 이전 연구의 배경과 세부 사항 이것은 이전에 요청되었습니다. 불행히도 기존 답변은 단지 질문을 구걸하고 있습니다. 특히, 다음 답변은 내가 틀렸다고 생각하기 …
54 java  c#  history  entry-point 

2
C #에서 'void'가 일반 유형으로 허용되지 않는 이유
void구성 할 수없고 일반적인 유형으로 허용되지 않는 것을 선호하는 디자인 결정은 무엇입니까 ? 어쨌든 그것은 단지 특별한 공허한 struct것이며 구별 Func되고 Action대의원 을 갖는 총 PITA를 피했을 것 입니다. (C ++은 명시적인 void리턴을 허용 void하고 템플리트 매개 변수로 허용합니다 )

11
테스트를 시작하기 위해 디자인이 필요한 경우 TDD가 좋은 디자인을 얻는 데 어떻게 도움이되는지 모르겠습니다.
TDD를 중심으로 머리를 감싸려고합니다. 특히 개발 부분입니다. 몇 가지 책을 보았지만 주로 찾은 책은 주로 테스트 부분-NUnit의 역사, 테스트가 좋은 이유, 빨강 / 녹색 / 리 팩터 및 문자열 계산기를 만드는 방법을 다룹니다. 좋은 점이지만 TDD가 아니라 "단지"단위 테스트입니다. 특히, 테스트를 시작하기 위해 디자인이 필요한 경우 TDD가 어떻게 좋은 디자인을 …
50 java  c#  .net  tdd 

7
SOLID로 전환 한 후 엄청나게 증가한 클래스 수 관리 및 구성?
지난 몇 년 동안, 우리는 한 번에 몇 단계 씩 단계적으로 개선 된 코드로 점진적으로 전환 해 왔습니다. 우리는 마침내 적어도 SOLID와 비슷한 것으로 전환하기 시작했지만 아직 멀지 않았습니다. 전환 이후 개발자의 가장 큰 불만 중 하나는 이전에 모든 작업에서 5-10 개의 파일을 다루는 개발자 만 필요했던 수십 및 수십 …

11
/// 주석 블록이 중요한 이유는 무엇입니까?
누군가 한 번은 모든 메소드 앞에 /// <summary>주석 블록 (C #)을 붙여야한다고 말했지만 그 이유는 설명하지 않았습니다. 나는 그것들을 사용하기 시작했고 그들이 나를 약간 짜증나게 했으므로 라이브러리와 정적 메소드를 제외하고는 사용을 중단했다. 그들은 부피가 크며 항상 업데이트하는 것을 잊고 있습니다. /// <summary>코드에 주석 블록 을 사용해야 할 이유가 있습니까? 나는 …
49 c#  comments 

3
인스턴스 또는 정적 도우미 메소드 중 어떤 것이 더 나은 방법입니까?
이 질문은 주관적이지만 대부분의 프로그래머가 어떻게 접근하는지 궁금합니다. 아래 샘플은 의사 C #이지만 Java, C ++ 및 기타 OOP 언어에도 적용됩니다. 어쨌든 내 클래스에서 도우미 메서드를 작성할 때 도우미 메서드를 정적으로 선언하고 도우미 메서드에 필요한 경우 필드를 전달하는 경향이 있습니다. 예를 들어 아래 코드가 주어지면 Method Call # 2 사용하는 …

9
생성자에서 while (true) 루프가 실제로 나쁜 이유는 무엇입니까?
일반적인 질문이지만 C ++과 같은 언어에는 생성자 실행, 메모리 관리, 정의되지 않은 동작 등과 관련하여 다른 의미가 있다는 것을 알고 있으므로 내 범위는 C #입니다. 누군가 나에게 쉽게 대답하지 못하는 흥미로운 질문을했다. 클래스의 생성자가 결코 끝나지 않는 루프 (예 : 게임 루프)를 시작하게하는 나쁜 디자인으로 간주되는 이유는 무엇입니까? 이것에 의해 …
47 c#  architecture 

12
`goto '부두를 피하는가?
switch처리해야 할 몇 가지 사례 가있는 구조가 있습니다. 는 switch과도하게 작동 enum값 조합을 통해 중복 된 코드의 문제를 제기한다 : // All possible combinations of One - Eight. public enum ExampleEnum { One, Two, TwoOne, Three, ThreeOne, ThreeTwo, ThreeOneTwo, Four, FourOne, FourTwo, FourThree, FourOneTwo, FourOneThree, FourTwoThree, FourOneTwoThree // ETC. } …


1
왜 .Net 세계가 정적으로 유형이 지정된 대안 대신 마술 문자열을 사용하는 것처럼 보입니까?
그래서 저는 .Net에서 일합니다. .Net에서 오픈 소스 프로젝트를 만듭니다. 내 가장 큰 문제 중 하나는 .Net의 필요성이 아니라 주변의 커뮤니티 및 프레임 워크입니다. 마법의 이름 지정 체계와 문자열이 모든 것을 수행하는 가장 좋은 방법으로 취급되는 것처럼 보입니다. 대담한 진술이지만 살펴보십시오. ASP.Net MVC : 안녕하세요 세계 노선 : routes.MapRoute( "Default", // …

3
생성자 주입이란 무엇입니까?
(서비스 로케이터) 디자인 패턴에 대한 기사를 살펴보면서 생성자 주입 및 종속성 주입이라는 용어를 살펴 보았습니다. 생성자 주입에 대해봤을 때 결과가 명확하지 않아 여기에서 체크인하라는 메시지가 표시되었습니다. 생성자 주입이란 무엇입니까? 이것은 특정 유형의 의존성 주입입니까? 표준적인 예가 큰 도움이 될 것입니다! 편집하다 일주일이 지난 후에이 질문을 다시 보았을 때, 나는 어떻게 …

4
왜 그리고 언제 수업을 '정적'으로 만들어야합니까? 클래스에서 '정적'키워드의 목적은 무엇입니까?
static여러 언어로 된 멤버 의 키워드는 해당 멤버에 액세스 할 수 있도록 해당 클래스의 인스턴스를 만들지 않아야 함을 의미합니다. 그러나 나는 전체 수업을 만드는 데 대한 정당성을 보지 못했다 static. 왜 그리고 언제 수업을 static해야합니까? 수업을하면 어떤 혜택이 static있습니까? 정적 클래스를 선언 한 후에도 인스턴스화하지 않고 액세스하려는 모든 멤버를 정적으로 …

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