바보 방지에는 단순한 입력 검증 이상의 것이 포함됩니다. 나는 그 정의에 그러한 것을 포함시키지 않을 것입니다.
입력 유효성 검사는 사용자 데이터를 무효화하고 유효성을 검사하여 불법 / 무의미한 값을 제거하는 프로세스입니다. 이는 프로그램 외부에서 들어오는 모든 정보를 사용하여 명백한 것을 제거하고 공격 (예 : sql injection 공격)으로부터 자신을 보호하기 위해 항상 수행해야합니다.
나는 멍청이를 법적인 수단을 통해 실수로 자신에게 큰 피해를 입히지 않도록하는 일련의 논리라고 생각합니다.
예를 들어 rm
명령 을 거부하고 rm -rf /
변형을 수정하면 유효성 검사 또는 정확성과 관련이 없습니다. 완벽하게 유효한 명령입니다. 불행히도, 이것은 유닉스 / 리눅스의 모든 디스크에서 모든 데이터를 지울 수있는 명령입니다. 이를 교정하는 것은이 명령을 거부 rm -rf --i-really-mean-this /
하고 대화식 모드 인 경우 경고 후 사용자가 긍정적 인 응답을하도록 제안 합니다.
시스템을 파괴하는 것은 바보가되어서는 안됩니다. 잠재적 난처함을 유발할 수있는 어떤 것도 후보가 될 수 있습니다 (예 : "텍스트에 첨부 한 첨부 파일없이이 이메일을 보내시겠습니까?"및 "이 이메일을 회사 전체? ")
바보 방지는 QA (최고의 바보가되기 위해 노력)와 개발 (이러한 시나리오를 모두 예측하고 그 주위를 디자인하려고 시도) 간의 협력입니다.
보다 친숙한 동의어에 대해서는 "파괴적인 코드 경로 분석"또는 "중요한 작업에 대한 사용자 피드백 활성화"를 제안 할 수 있습니다. 무엇을 호출하든 설계 프로세스 초기에 가능한 빨리 시작해야합니다.