MicroSoftware June, 2002 technical column http://www.sbmedia.co.kr/maso/tech/view.html?Id=2970&Timer=2002-06-01 방어적프로그래밍은 어떤 ProgrammingLanguage이건간에 중요하다. 그래도 [[Python]]은 좀 더 쉬운 접근 방법을 제공한다. ---- <> == Name error 조심 == * None으로 미리 변수 선언 * index error를 피하기 위해 len()으로 점검 * key error를 피하기 위해 has_key()메소드로 점검. get()메소드의 활용 * 그렇다고, 과도한 try - except의 사용은 피한다. == Debugging을 고려하며 코딩하기 == 디버그변수이용 {{{ import sys DEBUG=0 def log(s): if DEBUG: print s if name=='__main__': if '--debug' in sys.argv: DEBUG=1 }}} 데몬의 경우 syslog활용 See also http://www.python.org/doc/current/lib/module-syslog.html == 네트워크 프로그래밍시 blocking 주의 == select 모듈의 사용 == 알람시그널사용 == signal.alarm == 데몬에 생존성검사코드 넣기 == == 문서화의 중요성 == * readme, changelog, comment모두 포함됨 * 코드를 작성할 때 꼭 코드가 무슨일을하는가에 관한 정보입력 * 코드작성자이름소속연락처, 변경로그등도 ---- CategoryReport