ホーム自己紹介ブログ
NO.483
DATE2026. 09. 24

個人的CIチェックリスト

趣味で作っているWebアプリにて、実装したものを細かくPull Request(以降、PR)を作成します。
PR に対して、機械的にチェックするCIチェックリストがあります。
個人的に気に入っているものを紹介します。

未使用コードの削除

実装をガンガン進めていくと、いらなくなったものが溜まりがち です。
使われなくなったものを残しておくと、コードメンテナンスで余計なコスト負担になります。
そこで、以下のものたちをつかって未使用コードを徹底して削除していきます。

  • oxlint の未使用コードを検出する仕組み
  • stylelint の未使用スタイルを検出する仕組み
  • ...
  • knip の未使用モジュールを検出する仕組み

ファイル・フォルダ構造の制御

1つのファイル内での記述構成や、フォルダ内のファイル構成など、
ルール化して一定のリズムで読みやすい状態 を保ちたいです。
独自に AST解析チェック兼Codemod を行うスクリプトを入れています。

  • 最初に定数を宣言して...
  • 次にpublicな関数、その次にprivateな関数を宣言して...
  • 関数名や変数名はコレコレ...
  • フォルダ内のファイル名の命名規則はコレで...
  • エクスポートはコレコレで...

これは主に私が読みやすいために特化したものなので、自作しています。

1ファイル行数制限

昔はあまり好きではなかったのですが、1ファイルに最大100行 という制限を入れています。
これは強制的にファイルを分割することを促すのですが、先のファイル制御を組み合わせれば、
結構いい感じにファイル分割してくれます。
また最近の AI は責務に応じて分割をきれいにしてくれるので、助かっています。

PRをチェックする際、1PRで最大10ファイル までと制限をかけているため、
PR分割も強制的に行われます。
あとは、スタックされた PR の全体像を見つつ1つずつチェックしていけるので、
ストレスが比較的少なく済みます。

表記揺れの排除

画面によって 表示されている文言が違っている、というのが体験が嫌いなので排除したいです。
保存するなのか、登録するなのか、ドメイン用語がバラバラだったり...。

そこで、日本語の言語ファイルを1枚 用意しています。
表示するテキストやアラートメッセージなど、ユーザーへ見せる日本語を1つのファイルから必ず参照するようにしています。
直接日本語を書いたらエラーにするように、独自の静的解析を作っています。

テスト

単体テストコードは、意図的に入れていません。
(※ なぜそうしたか過去の記事に書いたと思います)
その代わり、Testcontainers + Playwright + Cucumber.js によるE2Eテストを動かすようにしています。
テスト環境(DB, サーバ, etc)をDockerベースで構築して、End to End に主要な機能テストを書いています。
CI 環境(GitHub Actions, CircleCI, ...etc)どこでも動かせるので、必ず PR 時にテストするようにしています。
並列処理していて、だいたい5分以内 に終わります。

よくあるやつ

あとは、静的解析やフォーマッタ、型チェック、ビルドなどを入れています。
静的解析には、SonarQubeのルールセットを入れているので、SonarQubeのよくあるチェックも含まれます。

終わりに

極限まで私のためのルールを整えておけば、
PRを読むのがかなり楽になっています。
自作は今では簡単なので、アイデアさえあればいくらでも最適化できます。
最後まで読んでいただきありがとうございました。

個人開発
フロントエンド

-

読者になる

|

シェアする

|

silverbirders

silverbirder

Webソフトウェアエンジニア
個人ブログキュレーション こぶりー 運営

ブログを応援する

この記事がよかったら、お布施という形で応援してもらえるとうれしいです。

おふせぼたん

※ ログイン不要で投稿できます。

※ 同じブラウザから投稿を削除できます。

0

読み込み中...

次の記事へ前の記事へ

関連する記事

タグ「個人開発」の記事

ブラウザの共有先に、こぶりーを追加

個人ブログを見つけて、読んで、シェアするアプリ、こぶりー に、ちょっとした改善を入れました。 主に運営側向けの機能なので、こぶりーだより ではなく、ここで書きます。笑 ※ 最近ここの境界が曖昧になっていてよろしくない... 共有先にこぶりー

2026年09月23日

個人開発
Webmention対応ブログたち

シルバーウィーク2日目、交通渋滞過ぎて疲労困憊民です。 個人ブログを見つけて、読んで、シェアするアプリ、こぶりー にWebmention対応向けのページを用意しました。 https://kobliy.vercel.app/webmentio

2026年09月20日

個人開発
古今東西、趣味のためのDB選定

個人開発、趣味としてのアプリ開発において費用をできる限り抑えたいです。 特に課題になるのが DB選定です。 もう耳にタコができるぐらい色々な人が書いていると思いますが、私も書きます。 前提 趣味レベルのDB性能で十分です。 データ容量、処理

2026年09月18日

個人開発

タグ「フロントエンド」の記事

Webmention 使ってみた

Webmention というのを最近知りました。 名前の通り、Web 上でメンションすることができます。 受信側、送信側、どちらも対応したので感想を残そうと思います。 Webmention ざっくりと Web AサイトにBサイトのリンクをつ

2026年09月08日

フロントエンド
個人開発
モジュールアップデートでやっていること

ITヲタクな AI くんにピッタリな仕事の一つは、モジュールアップデート。 特に、メジャーアップデートが超助かる。 昔だったら 数ヶ月掛かった移行も、数日たらずに対応できるようになったので、 さすが ITヲタクくん。 対応してよかったフロー

2026年07月24日

AI
フロントエンド
写経テストコードを全部消した

以下で書いた通り、プロダクトコードを写経したテストコードを削除しました。 "こぶりー" ( https://kobliy.vercel.app/ ) という個人ブログを読むアプリのコードです。 https://silverbirder.gi

2026年06月08日

AI
フロントエンド
テスト
← ブログ一覧へ