Правильный макет для большого скрипта Python - PullRequest
1 голос
/ 14 ноября 2011

В настоящее время у меня есть скрипт на 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

Есть проблемы с приведенным выше предложением

Ответы [ 2 ]

1 голос
/ 14 ноября 2011

Подумайте об использовании автоматического создания сценария дистрибутива (см .: http://packages.python.org/distribute/setuptools.html?highlight=entry_points#automatic-script-creation) вместо хранения отдельного файла .py в «bin». Я обычно держу тесты вне моего модуля. Разделите ваш proofreader.py на несколько файлов, содержащих разные классы, если это возможно. Это на самом деле самая важная вещь, чтобы держать обзор.

1 голос
/ 14 ноября 2011

Я обычно использую похожую раскладку.

Единственное существенное отличие, которое я бы сказал, это то, что тестовый модуль будет иметь значение Proofreader вместо Proofreader/proofreader.Основная причина держать тесты отдельно от кода заключается в том, что вы обычно просто хотите сделать их доступными для других разработчиков, а не для пользователей, которые просто хотят установить ваше программное обеспечение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...