KonomiTV のコンセプトとか設計とかメモ(自分用)

<aside> 🚧 完全に自分用の資料なので、他の人に読ませるための文章には一切なっていない。 あと、この文章の大半は2021〜2022年に書かれたもので記述内容はかなり古く、2023年以降はほとんど更新されていない。 2025年10月現在では現状のコードとは相当に乖離があるので、「コーディング規約的なもの」以外はあまり参考にしない方が良いと思う。

</aside>

<aside> 🚧 かなり雑多になってしまったので、時間があったら整理して別々の記事に切り分ける予定。

</aside>

コーディング規約的なもの

開発は VSCode Cursor 上で行っているので、以下もそれに準じる。

Git のコミットログ

<aside> ⚠️

以下のルールを読むより、Git の過去コミットログからなんとなくフィーリングで規則性を掴んでいただくほうが早いかもしれません。最終的には私のフィーリング基準で揃っていればいいので・・・。

</aside>

  1. Add (追加) or Update (更新) or Fix (修正) or Refactor (リファクタリング) or Remove (削除) or Release (リリース時のみ使用):
  2. [Server or Client or Installer] 、ルート直下のファイルの場合は [Readme.md] や [Dockerfile] といった具合
  3. [修正したモジュールやクラスの名前、広範囲に渡る場合はなし]
  4. コミットで何を行ったかを具体的に記入
  5. 必要に応じて、2つ改行してから何を行ったかの詳細を記入(最初の行から1行空けること)

という構成。例として上げると、

Add: [Server][Routers/ChannelsRouter] チャンネル情報 API(単一チャンネル)を追加

このコードの実装が大変参考になった ref: http://example.com/aaa/bbbbb

といった感じになる。 こうすることで、どのコミットでどこに何が行われたのか分かりやすくなる。

この例では ChannelsRouter に新しい API を追加したためこのようにしているが、修正や変更が広範囲に及ぶ場合は書かなくても良い。ただし、1番目と2番目、4番目は必須。

3番目に関してはネストする必要はない…としていたのだが、Server 配下においてはわかりづらいケースが出てきたため2024年以降は [Routers/ChannelsRouter] のように2階層まで分けることもある。

ただし3階層以上ネストして書くことはない。 app/utils/edcb/EDCBTuner.py をいじった場合は [Utils/EDCB] または [Utils/EDCBTuner] のどちらかにする(後は個人的なフィーリング)。

Client 配下に関しては [TV/Home] [TV/Watch] [Videos/Home] のように、ページ単位の時のみ、適宜スラッシュでネストを行う。