Розробка ПЗ з Claude Code
Dani Zysman
AI Curriculum Manager @ DataCamp

--artist — ім'я виконавця для запиту--format — вивід JSON або CSV--output — шлях до файлу з результатами| Шаблон | Приклад | Коли використовувати |
|---|---|---|
| Обов'язковий | --artist "AC/DC" |
Має бути вказаний |
| Необов'язковий | --format json |
Є розумний типово |
| Прапорець | --verbose |
Логічний вмик./вимк. |
| Позиційний | reporter.py data.csv |
Основне входження |
--help для кожного аргументу> Use @PLAN.md to build reporter.py
Готово! Створено reporter.py за PLAN.md
Основні функції:
- get_db_connection() SQLite лише для читання з валідацією
- fetch_artist_stats() 4 SQL-запити для агрегатів
- format_json/csv() Форматування виводу
- write_output() Запис у файл
- parse_args() / main() Оркестрація CLI
Можливості:
- Пошук виконавця без урахування регістру
- Розбивка по альбомах із доходом
- Усі повідомлення про помилки як у специфікації
- Прапорець --db для тестового ін'єктування
import argparse, sqlite3, json, csv
def main():
parser = argparse.ArgumentParser()
...
args = parser.parse_args()
conn = sqlite3.connect("chinook.db")
# Query artist's albums and tracks...
if args.format == "json":
with open(args.output, "w") as f:
json.dump(data, f, indent=2)

> Use @PLAN.md to build test_reporter.py
Створено test_reporter.py: 31 тест у 7 класах Покриття: - Connection Валідна БД, відсутній файл, невалідний файл - Stats Відомий/невідомий виконавець, без урах. регістру, мультижанри - JSON Формат, відступи, кругова серіалізація - CSV Два розділи, жанри через вертикальну риску, кількість рядків - File I/O Запис, перезапис, недоступний для запису шлях - CLI args Обов'язкові аргументи, перевірка варіантів - Integration Вивід JSON/CSV, виконавець/БД не знайдені, прибирання Використовує мінімальну засіяну SQLite-БД: незалежно від chinook.dbУсі 31 тест пройдені!
Розробка ПЗ з Claude Code