NotImplementedException
아직 작성하지 않은 코드 를 던지는 것은 나쁜 습관으로 간주 됩니까? TODO 의견이 더 안전한 것으로 간주 될 수 있습니까?
NotImplementedException
아직 작성하지 않은 코드 를 던지는 것은 나쁜 습관으로 간주 됩니까? TODO 의견이 더 안전한 것으로 간주 될 수 있습니까?
답변:
나는 NotImplementedException
실제로 좋은 습관 이라고 생각 합니다.
실제로 메소드 구현을 잊어 버리고 나중에 프로젝트에서 메소드를 사용하면 (그리고 그것이 발생한다고 생각하면), 단계별로 잘못 된 것을 찾는 데 오랜 시간을 소비 할 수 있습니다. 예외가있는 경우 프로그램에서 직접 중지하고 예외를 프롬프트합니다 (예외를 발견하면 포착 한 예외를 찾아서 신속하게 찾을 수 있습니다).
GUI 도움말 (VS의 작업)과 프로그램 안전을 결합하는 방식으로 TODO 주석 NotImplementedException
과 함께 사용하는 것이 좋습니다 .
릴리스 버전의 경우 대부분의 경우 프로그램이 올바르게 작동하지만 잘못된 결과를 생성하는 대신 프로그램이 충돌하는 것을 선호 하므로 내 의견으로 는 훨씬 더 중요 합니다.
NotImplementedException
TODO 주석과 같은 방식으로 s가 표시 됩니다. 좋은 기능이라고 생각합니다.
오류 및 오류 처리에 대한 일반적인 철학에 따라 다릅니다. 나는 "하드 오류"유형의 사람이다 : 나는 무언가 잘못되었을 수도 있다는 것을 조금이라도 암시한다. 나는 모든 것을 주장 할 것이다. 오류가있는 경우 무언가있을 것으로 예상되고 존재하지 않거나없는 경우 전체 우주가 중지되어야합니다. 윈도우 느낌표가 라우드 스피커를 통해 불길하게 울려 야합니다.
오히려 오류로 귀찮게하지 않을 다른 사람들이 있습니다. 따라서 클라이언트에 제공하고 코드 모듈을 잊어 버렸기 때문에 전체 보고서 모듈이 누락 된 경우 응용 프로그램이 너무 조용해서 테스트를 수행 한 사람이 아무도 없었다면 어떻게해야합니까? 고객의 얼굴에 예외를 던지는 것보다 아무것도하지 않는 것이 좋습니다!
좋은 생각이라고합니다. 일반적으로 폼이나 다이어그램 또는 다른 것에서 자동 생성되는 스켈레톤 코드에서 발생하는 예외를 봅니다. 예외는 코드 구현을 상기 시키며 설정되었지만 완전히 구현되지 않은 기능을 사용하려고하면 오류가 발생하는지 확인합니다. 때때로 나는 그것을 멈추거나 실행을 중단시킬 가능성이 적은 것 (예 : 콘솔에 경고를 인쇄하는 것)으로 대체 할 것이지만 그것이 나에게 효과적이라는 것을 알았습니다.
다른 사람들 이이 예외를 사용하는 라이브러리를 작성하는 경우 대안보다 낫습니다. 라이브러리 사용자는 함수를 호출하고 왜 아무것도 일어나지 않는지 궁금합니다. 물론, 배송 된 라이브러리에서이 예외가 발생하는 것은 여전히 좋지 않지만 IMO (자동 오류)보다 낫습니다.
좋은 습관이라고 생각합니다. 대안은 유효하지 않은 값 또는 상태를 전파하는 것인데, 이는 테스트 코드와 프로덕션 코드 모두에 영향을 미칩니다.
나는 항상 사용합니다 NotImplementedException
-결국 그것이 목적입니다.
이는 "실패"개념과 관련이 있습니다. 코드에서 예외가 발생하면 프로덕션으로 이동하기 전에 예외가 발생합니다. 그것이 생산에 도달하면 적어도 클라이언트는 어셈블리가 잘못되었음을 알고 있습니다.
코드가 의미없는 값을 반환하거나 void
메서드의 경우 아무런 조치도 취하지 않으면 코드 소비자는 호출이 그렇지 않을 때 의미가 있다고 생각할 수 있습니다. 그런 다음 나중에 올바른 코드를 얻으면 이전의 잘못된 동작에 따라 코드가 손상 될 수 있습니다.
이것은 어떤 종류의 프로젝트입니까? 직장이나 집? 집에서 원하는 작업을 수행하십시오. 가장 좋은 것은 작업중인 작업을 모두 완료해야한다는 것을 상기시켜줍니다.
직장에서 작성을 마칩니다.
다른 개발자, QA 또는 빌드를 중단시킬 수있는 코드를 체크인하는 상황을 볼 수 없습니다.