Вопрос

Вот ситуация: компания, которую я работаю в прямо сейчас, дал мне свободу работать с Java, либо Python, чтобы развить мои приложения. Компания имеет в основном опыт в Java.

Я решил пойти с Python, поэтому они, где очень рад попросить меня дать обслуживание всем проектам / сценариям Python, связанным с обслуживанием базы данных, которые у них есть.

Это не так уж плохо, чтобы справиться со всеми такими вещами и своего рода весело видеть, сколько свободного времени я по сравнению с Java-программистами. Есть только один, но, макет проектов - это беспорядок.

Есть много сценариев, которые просто лежали на виртуальных машинах по всей компании. У некоторых из них есть сложная функциональность, которая распространяется по нескольким модулям (4 максимум.)

По мнению об этом, я понял, что я не знаю, как обратиться к этому, поэтому вот 3 вопроса.

  • Где я поставил автономные сценарии? Мы используем Git в качестве нашей системы версий.
  • Как структурируйте компоновку проекта таким образом, что пользователю не нужно глубоко копать в папки, чтобы запустить программы (в Java, я создал JAR или JAR и сценарий оболочки для обработки некоторых операций загрузки.)
  • Что такое стандартный способ создания модулей, которые позволяют легкую повторное использование (mycompany.myapp.mymodule?)
Это было полезно?

Решение

Где я поставил автономные сценарии?

Вы организуете их «функционально» - основываясь на том, что они делают и почему люди используют их.

Язык (Python против Java) не имеет значения.

Вы должны подумать о сценариях как небольшие приложения, ориентированные на некоторые необходимые и создают соответствующие структуры каталога для этого приложения.

Мы используем /opt/thisapp а также /opt/thatapp. Отказ Если вы хотите общий монт-точку, вы можете использовать другой путь.

Как структура макета проекта так, как пользователю не нужно глубоко копать в папки для запуска программ

Вы организуете их «функционально» - основываясь на том, что они делают и почему люди используют их. На верхнем уровне /opt/thisapp каталог, у вас может быть __init__.py (потому что это пакет) и, возможно, main.py Сценарий, который начинает реальную работу.

В Python 2.7 и Python 3, у вас есть runpy модуль. С этим вы бы назвали основной скрипт вашего верхнего уровня __main__.py

http://docs.yphon.org/library/runpy.html#module-runpy.

Что такое стандартный способ создания модулей, которые позволяют легкую повторное использование (mycompany.myapp.mymodule?)

Читать о packages. http://docs.cython.org/tutorial/modules.html#packages.html#packages.

Другие советы

А. упаковка это способ создания иерархии модулей: если вы сделаете файл под названием __init__.py В каталоге Python будет лечить этот каталог в качестве пакета и позволяет импортировать его содержимое с помощью пунктирных импорта:

spam \
       __init__.py
       ham.py
       eggs.py

import spam.ham

Модули внутри пакета могут ссылаться друг на друга - см. Документы.

Если это все сценарии технического обслуживания БД, я бы сделал пакет под названием DB или что-то еще, и поместите их все в нем. Вы можете иметь подпрыгивания для более сложных. Так что, если у вас был скрипт, я не знаю, убирая журналы транзакций, вы могли бы поставить его в ourDB.clean и делай

import ourDB.clean
ourDB.clean.transaction_logs( )
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top