«static-methods» 태그된 질문

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

7
왜 개인 정적 메소드가 있습니까?
방금 내가 가진 질문을 정리하고 싶었습니다. 개인 가시성이있는 일반적인 방법과 달리 개인 정적 방법을 사용하는 요점은 무엇입니까? 정적 메소드를 사용하면 클래스의 인스턴스없이 호출 할 수 있다는 장점이 있다고 생각했을 것입니다. 그러나 비공개이기 때문에 정적이라는 점이 있습니까? 내가 생각할 수있는 유일한 이유는 객체 수준이 아닌 클래스 수준의 방법을 개념적으로 이해하는 데 …

10
모든 정적 메소드를 사용할 수 있습니까?
아래 두 UpdateSubject 메소드의 차이점은 무엇입니까? 엔터티에서 작업하려는 경우 정적 메서드를 사용하는 것이 좋습니다. 어떤 상황에서 비 정적 방법을 사용해야합니까? public class Subject { public int Id {get; set;} public string Name { get; set; } public static bool UpdateSubject(Subject subject) { //Do something and return result return true; } …

7
테스트 가능성을 설계 할 때 정적 유틸리티 클래스를 처리하는 방법
우리는 시스템을 테스트 할 수 있고 대부분 TDD를 사용하여 개발하도록 시스템을 설계하려고합니다. 현재 우리는 다음과 같은 문제를 해결하려고 노력하고 있습니다. 여러 곳에서 ImageIO 및 URLEncoder (표준 Java API)와 같은 정적 헬퍼 메소드와 대부분 정적 메소드 (Apache Commons 라이브러리와 같은)로 구성된 다양한 라이브러리를 사용해야합니다. 그러나 이러한 정적 도우미 클래스를 사용하는 메서드를 …


15
'정적 기능'은 언제 사용됩니까?
좋아, 정적 함수가 무엇인지 배웠지 만 여전히 개인 함수보다 왜 유용한 지 알 수 없습니다. 이것은 일종의 새로운 질문 일 수 있지만 왜 모든 개인 멤버 함수를 정적 함수로 대체하지 않습니까?

2
의존성 주입 대 정적 메소드
문자열을 받아들이고 문자열을 출력하는 메소드를 사용하여 클래스에 접근하는 방법에 대해 다른 개발자와 오늘 흥미로운 토론을했습니다. 다음과 같은 예를 위해 완전히 구성된 것을 상상해보십시오. public string GetStringPart(string input) { //Some input validation which is removed for clarity if(input.Length > 5) return input.Substring(0,1); if(input.Substring(0,1) == "B") return input.Substring(0,3); return string.empty; } 문자열 …


5
정적 메서드를 재정의 할 수없는 이유는 무엇입니까?
이 질문에 대한 답변 에서 일반적인 합의는 정적 메서드를 재정의해서는 안된다는 것입니다 (따라서 C #의 정적 함수는 가상 또는 추상적 일 수 없음). C #의 경우에만 해당되는 것은 아닙니다. Java도 이것을 금지하고 C ++도 좋아하지 않는 것 같습니다. 그러나 자식 클래스에서 재정의하려는 정적 함수 (예 : 팩토리 메서드)의 많은 예를 …

1
정적 메소드를 남용합니까?
몇 달 전에 나는 새로운 프로젝트에서 일하기 시작했으며 코드를 통과 할 때 사용되는 정적 메소드의 양을 획기적으로 나타냅니다. 와 같은 유틸리티 메소드 collectionToCsvString(Collection<E> elements)뿐만 아니라 많은 비즈니스 로직이 유지됩니다. 내가이 이론적 근거에 책임이있는 사람에게 물었을 때, 그는 그것이 봄의 폭정에서 벗어나는 방법이라고 말했다 . 이 사고 과정과 관련이 있습니다. 고객 …

3
무국적에 대한 의미 적 단서로서 "정적"?
최근 Java로 돌아가서 단위 테스트를 추가하기 위해 중간 크기의 프로젝트를 리팩토링했습니다. 싱글 톤과 스태틱을 조롱하는 것이 얼마나 고통 스러운지 깨달았을 때, 나는이 시간 동안 내가 읽은 것을 마침내 "얻었다". (나는 경험을 통해 배워야 할 사람들 중 하나입니다. 아.) 이제 Spring을 사용하여 객체를 만들고 주변을 연결하고 있으므로 static키워드를 왼쪽과 오른쪽으로 제거 …

6
대부분의 클래스를 데이터 필드 전용 클래스와 메소드 전용 클래스 (가능한 경우)로 분리하는 것이 좋거나 반 패턴입니까?
예를 들어, 클래스에는 보통 다음과 같은 클래스 멤버와 메소드가 있습니다. public class Cat{ private String name; private int weight; private Image image; public void printInfo(){ System.out.println("Name:"+this.name+",weight:"+this.weight); } public void draw(){ //some draw code which uses this.image } } 그러나 단일 책임 원칙과 공개 폐쇄 원칙에 대해 읽은 후 정적 메소드 …

3
C #의 개인 정적 메소드가 어떤 문제를 겪습니까?
클래스에서 여러 번 발생하는 특정 유효성 검사에 대한 개인 유효성 검사 방법을 만들었습니다 (여러 가지 이유로 유효성 검사 데이터를 저장할 수 없음). 이제 ReSharper는 함수를 정적으로 만들 수 있다고 제안합니다. 정적 메서드와 관련된 알려진 문제로 인해 약간 꺼려합니다. 그것은 것입니다 개인 정적 방법. 내 질문은 개인 정적 메서드가 공용 정적 …

4
정적 메소드를 통해 객체를 전달하는 것이 유리한 이유는 무엇입니까?
정적 메소드를 사용하고 오브젝트에 대한 메소드를 호출하는 대신 오브젝트에 대한 참조를 매개 변수로 전달하는 이점이있는 이유는 무엇입니까? 내가 의미하는 바를 명확히하기 위해 다음 클래스를 고려하십시오. public class SomeClass { private double someValue; public SomeClass() { // Some constructor in which someValue is set } public void incrementValue() { someValue++; } …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.