2011-11-14 3 views
1

현재 텍스트 파일을 읽고, 여러 가지 교정 방법에서 처리하고, 수정 된 테스트를 파일로 출력하는 데 유용한 python 스크립트 (proofreader.py)가 있습니다.큰 파이썬 스크립트에 대한 적절한 레이아웃

하지만 스크립트가 상당히 길어요. > 1000 행의 코드이므로 더 잘 구성하고 나중에 재사용하는 것이 좋습니다.

현재 구조 : proofreader.py

def main(argv) 
.. 

def read_text_file(): 

def proofreading_method_1(): 

def proofreading_method_2(): 

def proofreading_method_3(): 
.. 
def common_string_function_1(): 

def common_string_function_2(): 

def common_string_function_3(): 
.. 
def write_text_file(): 

누군가가이 프로젝트 (교정원)에 대한 적절한 배치를 제안 할 수 있습니다?

는에 따르면 http://jcalderone.livejournal.com/39794.html, 나는 다음과 함께했다 :

Proofreader/ 
|-- bin/ 
| |-- proofreader (The python script with the .py extension) 
| 
|-- proofreader/ 
| |-- test/ 
| | |-- __init__.py 
| | |-- test_main.py 
| | 
| |-- __init__.py 
| |-- main.py 
| |-- proofreading.py (class for proofreading methods) 
| |-- stringutil.py (class for frequently used string methods) 
| 
|-- setup.py 
|-- README 

위의 제안에 어떤 문제가?

답변

1

별도의 .py 파일을 'bin'에 보관하는 대신 distribute (http://packages.python.org/distribute/setuptools.html?highlight=entry_points#automatic-script-creation 참조)의 자동 스크립트 생성을 사용하는 것을 고려하십시오. 나는 보통 내 모듈 밖에서 테스트를 유지합니다. 가능한 경우 다른 클래스를 포함하는 여러 파일로 proofreader.py를 분할하십시오. Thats는 실제로 개요를 유지하는 데있어 가장 중요한 것입니다.

1

나는 보통 비슷한 레이아웃을 사용합니다.

유일한 차이점은 Proofreader/proofreader 대신에 Proofreader이 될 것입니다. 테스트를 코드와 별도로 유지하는 주된 이유는 일반적으로 소프트웨어를 설치하려는 사용자가 아니라 다른 개발자가 테스트를 사용할 수있게하려는 것입니다.

관련 문제