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모두 포함됨
- 코드를 작성할 때 꼭 코드가 무슨일을하는가에 관한 정보입력
- 코드작성자이름소속연락처, 변경로그등도