일부 데이터에서 작동하는 일련의 기능이있는 경우 각 기능이 데이터를 사용하기 전에 유효한지 확인하거나 체인의 시작 부분에서 확인을 수행하는 것이 좋으며 체인의 모든 기능을 " 그것이 "유효하다는 것을"신뢰 하는가?데이터를 사용하는 모든 단계에서 데이터 검증을하는 것이 더 좋습니까?
0
A
답변
0
체인의 하위 기능이 자체적으로 호출되는지 여부에 따라 크게 결정에 영향을 미칩니다. 특정 클래스가 프로그램의 다른 클래스에 의해서만 호출되는 엄격하게 계층화 된 시스템을 사용하는 경우 이러한 내부 클래스는 훨씬 더 가벼운 데이터 검사를 수행하고 데이터를 "신뢰"할 수 있습니다.
에서"코드 전체 2"스티브 맥코넬에 의해 :. 방어 프로그램을 위해 바리케이드하는
"한 가지 방법은 '안전'영역에 대한 경계와 같은 특정 인터페이스를 지정하는 데이터가 안전 영역의 경계를 교차 확인 유효성을 검사하고 데이터가 유효하지 않은 경우 현명하게 응답하십시오.
클래스 수준에서 동일한 접근 방식을 사용할 수 있습니다. 클래스의 공용 메서드는 데이터가 안전하지 않다고 가정합니다. 클래스의 public 메서드에 의해 데이터가 허용되면 클래스의 개인 메서드는 데이터가 안전하다고 가정 할 수 있습니다. "
1
방어 프로그래밍을 적용하는 것은 항상 좋은 습관입니다. 가능한 모든 시나리오를 고려해야합니다.
입력이 사용자에게서 오는 경우 유효성 검사가 매우 중요하므로이 경우 유효하지 않은 각 데이터 시나리오에서 코드가 수행해야 할 작업을 알고 있어야합니다. 예측할 수있는 상황에 대한 단언을 시도하고 예기치 않은 상황에 대한 예외를 시도하십시오. 세부 사항은 사용하는 언어에 따라 다릅니다. 이것은 방탄 프로그램의 기초입니다.
관련 문제
- 1. List 또는 Collection을 사용하는 것이 더 좋습니까?
- 2. 하나의 데이터 변환 또는 여러 것을 사용하는 것이 더 좋습니까?
- 3. 모든 Linq 쿼리에서 Plinq를 사용하는 것이 좋습니까?
- 4. 항상 ASP 제어를 사용하는 것이 더 좋습니까?
- 5. Windows Forms에서 WPF를 사용하는 것이 더 좋습니까?
- 6. 데이터 바인딩 대신 DataTrigger를 사용하는 것이 더 좋습니까?
- 7. 영구 저장소를 만들거나 데이터에 고정 파일을 사용하는 것이 더 좋습니까?
- 8. HTML 페이지를 더 작은 청크로 나누고 AJAX를 사용하여 결합하는 것이 더 좋습니까? 아니면 단일 페이지로 사용하는 것이 더 좋습니까?
- 9. 어떤 MySQL 연결이 C#과 함께 사용하는 것이 더 좋습니까?
- 10. 강력하게 데이터를 입력하는 것이 좋습니까?
- 11. JQuery의 유효성 검사 플러그인을 사용하는 것이 좋습니까?
- 12. 파일이나 HTML 태그에서 javascript 기능을 사용하는 것이 더 좋습니까?
- 13. 이미지가 아닌 @ font-face 또는 cufon을 사용하는 것이 더 좋습니까?
- 14. PHP db 검색 엔진, 기존 API를 사용하는 것이 더 좋습니까?
- 15. DateTime.MinValue 또는 nullable DateTime을 사용하는 것이 더 좋습니까?
- 16. fwrite() 또는 move_uploaded_file()을 사용하는 것이 더 좋습니까?
- 17. 짹짹이 긁기 - 사이트 또는 API를 사용하는 것이 더 좋습니까?
- 18. BlackBerry에서 Bitmap 또는 EncodedImage를 사용하는 것이 더 좋습니까?
- 19. 비 기술적 인 사람들을 대상으로 Silverlight를 사용하는 것이 더 좋습니까?
- 20. 양식 제출 버튼에 jquery를 사용하는 것이 더 좋습니까?
- 21. 정수를 루프 카운터 변수로 사용하는 것이 더 좋습니까?
- 22. 욕심 거리지 않는 한정어 또는 미리보기를 사용하는 것이 더 좋습니까?
- 23. 훑어보기 또는 캡처 그룹을 사용하는 것이 더 좋습니까?
- 24. HttpContext.Current.IsDebuggingEnabled 또는 #if DEBUG를 사용하는 것이 더 좋습니까?
- 25. db 스키마를 변경하는 것이 더 좋습니까?
- 26. xml 데이터 표시에는 어느 것이 더 좋습니까? Jquery 또는 xslt?
- 27. 사용자가 업로드 한 문서를 phymyadmin에 저장하는 것이 더 좋습니까? 아니면 폴더에 저장하는 것이 더 좋습니까?
- 28. SquishIt과 Combres2 중 어느 것이 더 좋습니까?
- 29. 번들 또는 디스크에서로드하는 것이 더 좋습니까?
- 30. 파일이나 데이터베이스에 로그온하는 것이 더 좋습니까?
** 전달 된 데이터는 유효하지 않아야합니다. 특히 사람이 입력 한 데이터는 신뢰할 수 없습니다. –