생성자의 논리는 코드 냄새입니다. 그러나 생성자에서 코드의 양이 나쁜지 또는 코드 유형 (생성자에서 허용되는 특정 코드가 있습니까?)은 무엇입니까?코드 또는 수량의 유형에 따라 생성자 논리 코드의 냄새가 좌우됩니까?
감사
잠재적으로 예외를 발생시킬 수있는 코드가 내가 생성자에 피 한 가지입니다 여부생성자의 논리는 코드 냄새입니다. 그러나 생성자에서 코드의 양이 나쁜지 또는 코드 유형 (생성자에서 허용되는 특정 코드가 있습니까?)은 무엇입니까?코드 또는 수량의 유형에 따라 생성자 논리 코드의 냄새가 좌우됩니까?
감사
잠재적으로 예외를 발생시킬 수있는 코드가 내가 생성자에 피 한 가지입니다 여부생성자의 주 목적은 개체 생성 (매개 변수, 환경 ...)의 컨텍스트를 확인하고 메서드를 호출하기 전에 인스턴스를 초기화하는 것입니다.
예를 들어, FileStream의 생성자 중 하나는 매개 변수에서 파일 경로와 파일 모드를 사용하고 파일이 존재하지 않으면 예외를 throw합니다.
IMO는 코드가 유효성 검사/초기화 논리 인 한 많은 코드를 나타낼지라도 생성자에서 완벽하게 유효합니다. 생기있을 수있는 것은 컨텍스트의 유효성 검사 또는 인스턴스 초기화와 관련이없는 생성자의 코드입니다.
. 개체를 엄격하게 초기화하도록 생성자 코드를 제한하려고 시도합니다. 기본값이없는 경우에만 - 너무 자주 발생하지는 않습니다.