note記事化システムのディレクトリ構造と基本スクリプト作成(開発日記 No.041)
関連リンク
はじめに
昨日は、note記事化システムの実装計画に基づき、記事のフォーマット指示ファイルを作成しました。今日は、システムの基盤となるディレクトリ構造を整備し、コーディング規約を定めることに注力します。
背景と目的
このプロジェクトは、開発日記を自動でZennの記事として公開できるようにするためのものです。今回は、プロジェクトの骨組みとなるディレクトリ構造を確立し、開発チーム全体で共有できるコーディング規約を定めることで、今後の開発をスムーズに進めることを目指します。
検討内容
詳細設計書を参考に、ディレクトリ構造と基本スクリプトの作成、そしてコーディング規約の策定という3つのタスク候補が挙がりました。今回は、まずディレクトリ構造を整備し、スクリプトの実装に入る前に、プロジェクト全体で適用するコーディング規約を定めることにしました。特に、DRY原則、SOLID原則、TDDによる開発スタイル、Docker環境での開発・テスト・デプロイを徹底するための規約を盛り込むことにしました。
実装内容
まず、以下のディレクトリ構造を作成しました。
note-converter/scripts/utils/
note-converter/tests/unit/
note-converter/tests/integration/
note-converter/docker/
各Pythonパッケージディレクトリには、__init__.py
ファイルを追加し、Pythonパッケージとして認識されるようにしました。
次に、コーディング規約を定義したcoding_standards.md
ファイルを作成しました。このファイルには、命名規則、コードスタイル、エラーハンドリング、テスト、バージョン管理、セキュリティ、パフォーマンス、ドキュメンテーション、コード品質に関するルールを記載しました。
さらに、開発スタイルに関するセクションを追加し、DRY原則、SOLID原則、TDD、Dockerを用いた開発スタイルについて具体的な指針を盛り込みました。
最後に、プロジェクトで必要となるPythonの依存関係を記述したrequirements.txt
ファイルを作成しました。
技術的なポイント
- ディレクトリ構造を明確にすることで、コードの整理と保守性を向上させました。
-
__init__.py
ファイルを各ディレクトリに追加することで、Pythonがパッケージとして認識するようにしました。 - コーディング規約を明文化することで、チーム全体で一貫性のあるコードを作成できるようにしました。
-
requirements.txt
ファイルを作成することで、依存関係を管理し、環境構築を容易にしました。
所感
今日は、プロジェクトの土台作りとなるディレクトリ構造の整備とコーディング規約の策定を行いました。特に、開発スタイルに関する規約を詳細に定義することで、今後の開発における品質向上と効率化に繋がることを期待しています。コーディング規約は、開発を進める中で必要に応じて随時更新していく予定です。
今後の課題
明日は、基本スクリプトの実装に取り掛かる予定です。具体的には、note_converter.py
、markdown_utils.py
、error_handler.py
などの基本構造を実装していきます。また、Docker環境の整備も並行して進めていく必要があります。
まとめ
今日は、note記事化システムのディレクトリ構造を整備し、コーディング規約を策定しました。これにより、今後の開発をよりスムーズに進めるための基盤が整いました。明日は、基本スクリプトの実装とDocker環境の整備に取り組みます。
Discussion