일반적으로 기본값에 대한 질문-기본 반환 함수 값, 기본 매개 변수 값, 누락 된 경우의 기본 논리, 예외 처리를위한 기본 논리, 에지 조건을 처리하기위한 기본 논리 등
오랫동안 나는 기본값을 "순수한 악의", "재앙을 은폐"하고 버그를 찾기가 매우 어려운 것으로 생각했습니다. 그러나 최근에 나는 기본값을 일종의 기술 부채로 생각하기 시작했습니다 ... 이것은 똑바로 나쁜 것은 아니지만 어떤 "단기 금융"을 제공 할 수있는 것은 우리가 프로젝트에서 살아남을 수있게 해줍니다 (우리 중 몇 명이 감당할 수 있습니까? 주택 담보 대출을받지 않고 집을 사려면?).
"단기"라고 말할 때, "무엇보다 빨리 무언가를하고 나중에 생산에 닿기 전에 리팩토링을한다"는 것은 아닙니다. 아니요-프로덕션 소프트웨어에서 하드 코딩 된 기본값에 의존하는 것에 대해 이야기하고 있습니다. 물론 문제가 발생할 수 있지만 일년 내내 단 한 번의 문제 만 발생한다면 어떻게 될까요?
다시 한 번 말하지만 여기서 "평균"주류 소프트웨어 (원자력 발전 소용 소프트웨어가 아님)에 대해 이야기합니다. 평균 웹 사이트 또는 회계 소프트웨어 용 UI 응용 프로그램으로 사람들의 생명이 위태로워 지거나 수백만 달러가 아닙니다. .
다시 한 번, 내 경험에 비추어 볼 때 비즈니스 사용자는 "어떻게 작동"하는 소프트웨어를 사용하는 대신 완벽한 소프트웨어를 기다릴 것입니다. RAD 스타일로 소프트웨어를 개발하는 경우 기본값을 사용하면 많은 도움이됩니다. 그러나 다시 한 번-내가 보낸 가장 긴 디버그 세션은 기본값에 의해 도입 된 버그 때문에 길을 따라 "기본"이 중지되었거나 작은 하위 시스템이 최근에 업그레이드 되었기 때문에이 업그레이드의 결과로 그렇지 않았습니다. 기본값을 올바르게 처리하십시오 (예 : 빈 목록 대 널 또는 널 문자열 대 빈 문자열).
그래서 내 질문은-기본값은 선악입니다. 그리고 그들이 기술 부채라면-어떻게 당신이 상환을 감당할 수 있도록 얼마나 빌릴 수 있는지 측정합니까?
모든 의견을 보내 주셔서 감사합니다.
건배.
편집하다:
개발 중에 모서리를 자르는 방법으로 기본값을 사용하고 있고 모서리 자르기에 버그와 문제가 발생하는 경우 이러한 문제를 복구하는 방법은 무엇입니까?