Рубрики
Без рубрики

Производительность крылья для проекта Python

Python – шаблон проекта (часть – 1). Тег с шаблоном, Python, GetStArteded.

Python – шаблон проекта (часть – 1)

Источник: https://github.com/hassanfarid/python-template

Различные исследования показывают, что код (часть функциональности) читается много раз, чем написано или обновлено. Который подчеркивает важность написания хорошего кода качества, следуя последовательным стилям кода и руководствами стилей документации. Письменные тесты для кусочка кода улучшают читаемость кода, а также улучшает стабильность кодовой базы.

Знание о важности кода качества письма – это общие знания и согласовано всеми.

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

Как структурировать вашу базу кода

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

| component-code-repository (example: fantastic-app-backend)
    | ci/ # all scripts helpful for CI process
    | scripts/ # all short hand scripts for testing and running application in local env
    | src/ # may contain all the source code specific to this repository
    | tests/ # contains test suite for your code base
    | CODEOWNERS
    | CONTRIBUTION.md
    | Dockerfile
    | docker-compose.yml
    | README.md

Как построить свой проект?

Проект может быть построен для нескольких целей, используя Single DockerFile. Цель одиночного Dockerfile состоит в том, чтобы упростить обслуживание кода развертывания.

Этот проект может быть построен как Docker Image со всеми целями, поддерживаемыми DockerFile,

  • CI – для использования целевого изображения в процессе непрерывного интеграции
  • Prod – для публикации целевого изображения в производстве
# You can set the target to either `ci` or `prod` based intention
TARGET='ci'

# Build image for $TARGET environment
docker build --build-arg TARGET=$TARGET -t python-template:$TARGET -f Dockerfile .

# The output image will be labelled `python-template:ci` or `python-template:prod`

Особенности для непрерывной интеграции

Проект предоставил шаблоны для обеспечения наилучшей практики и поддержания стабильности кодовой базы. Поддерживаются следующие функции,

Руководство по кодированию

Конкретные инструкции о Руководство по кодированию документируются отдельно.

Интегрированные инструменты помогают проектам Python поддерживать стандарты кодирования, в том числе,

Руководство по кодированию стиля

# This test will use pycodestyle to validate against PEP-8 standards
docker run --rm python-template:ci bash ../ci/pycodestyle/script.sh

# This test will use pydocstyle to validate against PEP-257 standards
docker run --rm python-template:ci bash ../ci/pydocstyle/script.sh

# This test will use mypy to validate against PEP-484 standards
docker run --rm python-template:ci bash ../ci/mypy/script.sh

# as an alternate pylint may also be used code advanced coding guidelines specific to your project
# Note: to make it work as expected, you need to configure pylint configurations as desired
# This test will use pylint to validate PEP-8, PEP-257, and others
docker run --rm python-template:ci bash ../ci/pylint/script.sh

Тест устойчивости кода

# This test will use pytest to run all test suits defined in project
# additionaly: this also geenrates test coverage report on console
docker run --rm python-template:ci bash ../ci/pytest/script.sh

# This will use coverage tool to generate test coverage, and run test if coverage is not generated yet
# the coverage html report is generated at ./cov_html as configured in ../ci/coverage/.coveragerc.ini
docker run --rm python-template:ci bash ../ci/coverage/script.sh

Кодовая документация

# This script will generate code documentation using code comments
# the output html is generated in ../docs/_build/html
docker run --rm python-template:ci bash ../ci/generate_code_documentation.sh

Источник: https://github.com/hassanfarid/python-template

Вы можете внести свой вклад в этот шаблон стартера,

  • оставляя комментарий
  • открыть проблему на github
  • Отправить запрос на голосе на GitHub

Оригинал: “https://dev.to/hassanfarid/productivity-wings-for-python-project-4alg”