WORM-UP
그나마 Exception 예외처리 사용하는 경우(예외처리 사용을 피하고 되도록 다른 코드로 대체해라.)
외부 dependency가 없는 한은 거의 exception이 안난다고 생각하라.
빠르게 코드 짜려고 try, exception 남발하면 나중에 exception이 나도 어디서 났는지 알기도 힘들고 코드 읽기도 더러워지고 로깅도 안하고 문제가 많아진다.
좋은 프로그래머가 되기 위해서는 코드 한줄 한줄에 이유가 있어야 하고 그것을 사용한 자기만의 이유가 있어야한다. 또한 미래에도 사용할 수 있는 코드(확장가능한 코드) 여야 한다. 코드 스타일이 일관되어야한다.
TDL
나만의 문제해결 전략 생각하기.
프로그래밍에서의 문제해결 방법은 어떤 것이 있는지 찾아보기.
완성된 소스코드에서 해석하면서 개념배우기.
소스코드 한 줄씩 수정해보면서 이해가지 않는 부분에 주석달기.
문제해결전략과 같은 과정에 따라 소스코드를 세분화시키고 합치는 연습하기.
NOTE2
문제해결 프로세스
의사코드(슈도코드 pseudocode)
다양한 상황에 대한 시뮬레이션
컴프리헨션(comprehension)
: 실제 프로그래밍에서 한 줄로 파이썬 기능을 구현할 수 있는 기능
지역변수와 전역변수
구문 및 예외적인 상황 처리
exception
반복문 이후 else를 사용 시
이 방법은 좋지 않다. break를 사용해야만 else를 사용하게 된다.
assert()
방어적 프로그래밍(defensive programming) 방법 중 하나이며, 코드를 점검하는데 사용된다.
try/except/raise/finally
try : 처리하고자 하는부분을 넣는다.
except : try구문 안에서 발생할 것으로 예상되는 예외를 처리한다.
raise : 예외상황일 때 명시적으로 처리한다.
finally : 마지막으로 실행하는 코드
try/finally : 에러가 발생하더라도 마지막 코드를 수행해야 할때
try/except/else : else 구문을 사용하면 예외구분을 위해 try구문 안에 들어갈 코드를 최소화시켜 가독성이 좋아진다.
프로그래밍에서의 문제 해결 개념