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

DefensiveProgrammingWithPython (last edited 2013-06-28 09:47:40 by 61)

web biohackers.net