Що повинен мати кожен Python-проект

3 хв. читання

За останні роки популярність Python дуже зросла. З цим же ростом прийшло й багато інструментів, що допомагають нам в розробці, і саме в цій статті я розгляну інструменти якими повинен користуватися кожен проект.

requirements.txt

Перш за все слід створити файл requirements.txt, в якому вказуються потрібні для встановлення пакунки та їх версії. Це звичайний текстовий файл, залежності з якого встановлюють за допомогою pip.

Так, все настільки просто. Але в той же час дуже продуктивно.

Ви можете мати декілька requirements.txt, що мають різний вміст. Наприклад, ви можете окремо виділити залежності для розробки, збірки документації та розгортання.

Створити такий файл можна за допомогою команди pip freeze > requirements.txt, яка скопіює назви всіх встановлених пакетів і їх версій в вказаний файл.

setup.py

setup.py — дуже важливий файл, якщо ви хочете мати можливість встановлювати ваш проект за допомогою pip. Його просто написати, ще легше сконфігурувати під ваші потреби. А натомість він бере на себе багато таких клопотів як імпортування, метадані проекту, встановлення залежностей і багато іншого.

Ознайомитись з його написанням можна в документації.

Правильна структура

Правильна структура для проекту має не менше значення, ніж і решта пунктів цієї статті. Правильна структура проекту полегшує сортування та пошук потрібних файлів, а також дозволяє новим розробникам швидше почати працювати з проектом.

Ось приклад:

root/
        docs/
        tests/
        mymodule/
        scripts/
        requirements.txt
        setup.py
        README
        LICENSE

Звісно, це не обов'язкова норма, але більшість проектів дотримується саме такої структури.

Тести

Юніт тести дозволяють вам бути впевненим, що ваш код працює так як треба. Я рекомендую модуль unittest, так як він є вбудованим та досить гнучким щоб покрити більшість потреб.

Також існують і інші бібліотеки для тестування, так як test.py та nose.

Документація

Якщо ви розробляєте проект, я впевнений що ви не пишете його лише для себе і тільки на поточний час. Інші люди теж повинні знати як правильно користуватися вашим проектом. І навіть ви самі після довгої паузи не згадаєте, що робить та чи інша функція.

Тому, розробляйте лише логічне API, опишіть основні випадки використання вашого ПЗ, та пишіть документацію.

А в цьому вам може допомогти Sphinx чи mkdocs, які з коду генерують красиву документацію, як лінкується з самим кодом.

Висновок

Коли ви привчите себе дотримуватись цих правил, програмувати стене простіше і приємніше, як вам, так і вашим колегам. І не забувайте дотримуватись PEP8!

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 5.7K
Приєднався: 8 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація