За останні роки популярність 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!
Коментарі (1)