티스토리 뷰

탐방

방어적 프로그래밍 (Defensive Programming)

김도리개발자 2022. 10. 29. 18:03

방어적 프로그래밍

방어 코딩이라고도 한다.

예상치 못한 입력에도 계속적인 기능을 할 수 있도록 고안된 방어적 설계의 한 형태

 

종종 발생하지 않을거라 생각하고 넘어가거나

예외 상황들을 테스트 해봤기 때문에 완벽하다 생각하여 쉽게 오류에 빠진다.

 

방어적 프로그래밍은 프로그래머가 문제를 예상하고 이를 처리하는 코드를 작성하는 것이다.

 

0. 버그 없는 코드 유지

  • 테스트 하기 (단위테스트, 꼼꼼한 테스트)
  • 코드 검토하기 (여러 사람과)
  • 신뢰할만한 라이브러리 사용
  • 좋은 코딩 관례 따르기 (구조화 잘 하기)

 

1. 외부로부터 입력받거나 파라미터로 받는 값, 함수의 리턴값

올바른 데이터 범위인지 유형인지 검사 필요

데이터 체크를 하는 습관을 들여야 한다.

 

2. 공유 메모리, 쓰레드

데이터가 덮어씌워지거나 데드락에 걸리지 않도록 주의

 

3. 변수의 간섭 및 범위

지역변수와 전역변수 간 간섭 조심

범위의 최소 단위 신경쓰기

 

4. 개발 규칙

버그를 가정하고 테스트로 방지하자

오류를 빨리 발생시켜 빨리 인지하자

 

5. TDD (테스트 주도 개발)

'탐방' 카테고리의 다른 글

Git Hooks  (0) 2022.10.31
ESLint와 Prettier  (0) 2022.10.28
ECMAScript에 대해 알아보자  (0) 2022.10.27
[RPA][UiPath] 반복되는 작업에 지친 개발자들의 다음 스텝은?  (0) 2021.09.13
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함