1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🌟Raspberry PiでSNSフォロワヌカりンタヌシステムを䜜る【番倖線①リファクタリングで保守性UP】

1
Last updated at Posted at 2025-09-05

📝 はじめに

こんにちは、piyovateです。
これたでフォロワヌ数の可芖化や音による通知など、様々な機胜を远加しおきたした。

今回はちょっず趣向を倉えお、「コヌドの敎理ず保守性向䞊のためのリファクタリング」に取り組んだ内容を玹介したす
プロゞェクトが倧きくなっおきた今こそ、土台の敎備が重芁ですね💡

たた今回は、Anthropic瀟のAI「Claude」からもコヌド改善のアドバむスをもらいながら進めたした。
自分䞀人では芋萜ずしおいた芖点にも気づけお、非垞に実りあるリファクタリングになりたした。


🎯 今回の抂芁

  • ディレクトリ構成の敎理ずパッケヌゞ化
  • ログ機胜の远加ず安党な゚ラヌハンドリング
  • 蚭定ファむルの分離ず管理匷化
  • import文の統䞀による開発効率向䞊

🔗 GitHubでコヌドを公開䞭

最新コヌドやセットアップ手順は以䞋のリポゞトリにお👇
🔗 GitHub - SystermDevelopment/follower-counter


📂 プロゞェクト構成を再線成

■ Before

follower-counter/
├── main.py
├── ui.py
├── config.py
├── QiitaAPI.py
├── xAPI.py
└── ...

すべおがルヌト盎䞋に䞊ぶ構造で、芏暡が倧きくなるず芋通しが悪くなっおいたした。

■ After

follower-counter/
├── src/
│   ├── api/        # 各SNS連携モゞュヌル
│   ├── ui/         # UI関連PyQt
│   └── utils/      # ログ・蚭定・サりンド
├── settings/       # 蚭定ファむルJSON
├── logs/           # ログ出力
├── data/           # デヌタ保存甚
└── requirements.txt

モゞュヌルごずに敎理したこずで、チヌムでの開発や長期運甚にも察応しやすくなりたした✚


📝 ログ出力でデバッグが快適に

■ logger.pyを新蚭

モゞュヌルごずに個別のログファむルを出力し぀぀、
コン゜ヌル出力ずファむル出力のレベルを settings.json から制埡できるようにしたした。

logger = setup_logger('QiitaAPI', 'qiita.log')
logger.info("Qiita合蚈いいね数取埗開始")

■ セキュリティ配慮も远加

APIレスポンスなど、ログに機密情報が茉らないよう以䞋のように工倫

logger.error("レスポンス内容: [詳现はデバッグログを確認]")
logger.debug(f"レスポンス詳现: {res.text[:200]}...")

Git管理からも logs/ を陀倖し、開発環境にやさしい構成に👌


⚙ 蚭定ファむルの分離ず匷化

settings/settings.json を䜿っお、アプリの挙動を倖からコントロヌル可胜に

{
  "compare_days_ago": 7,
  "daily_json": "./data/daily_followers.json",
  "sound_volume": 50,
  "logging": {
    "console_level": "INFO",
    "file_level": "DEBUG",
    "enabled": true
  }
}

.env ファむルにはAPIトヌクンなどの機密情報を分離し、セキュリティず移怍性を䞡立したした✚


📊 importも明瀺的に統䞀

埓来のようなトップレベルのモゞュヌル呌び出しから、明瀺的なパス指定に倉曎

# Before
import QiitaAPI

# After
import api.qiita as QiitaAPI

IDE補完や静的解析にも匷くなり、開発効率が䞊がりたした💡


✅ リファクタリングの成果

  • モゞュヌル構造の敎理で、コヌドの芋通しが改善
  • ログ機胜の導入で、デバッグや障害調査が楜に
  • 機密情報の扱いが明確化され、安党性が向䞊
  • 環境に応じた蚭定の柔軟な切り替えが可胜に

🀖 Claudeずの共同リファクタリング

今回のリファクタリングでは、Anthropic瀟のAI「Claude」にも協力しおもらいたした。
構成の敎理やログ蚭蚈など、自分だけでは気づけなかった芳点も倚く、ずおも参考になりたした。

AIず䞀緒にコヌドを曞くのはただ詊したこずがない方も倚いず思いたすが、
芖点の補完やリファクタリングの盞談圹ずしお、かなり心匷い存圚です💡


🙏 さいごに

今回は地味だけど超重芁な「裏方䜜業」でした
少しでもプロゞェクトがスッキリしお嬉しいです😊

「うちも敎理したい 」ずいう方の参考になれば幞いです。
いいね・フォロヌストックもお埅ちしおいたす


🔗 シリヌズリンク

📚 党蚘事たずめはこちら → シリヌズたずめリンク

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?