趣味で作っているWebアプリにて、実装したものを細かくPull Request(以降、PR)を作成します。
PR に対して、機械的にチェックするCIチェックリストがあります。
個人的に気に入っているものを紹介します。
実装をガンガン進めていくと、いらなくなったものが溜まりがち です。
使われなくなったものを残しておくと、コードメンテナンスで余計なコスト負担になります。
そこで、以下のものたちをつかって未使用コードを徹底して削除していきます。
1つのファイル内での記述構成や、フォルダ内のファイル構成など、
ルール化して一定のリズムで読みやすい状態 を保ちたいです。
独自に AST解析チェック兼Codemod を行うスクリプトを入れています。
これは主に私が読みやすいために特化したものなので、自作しています。
昔はあまり好きではなかったのですが、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を読むのがかなり楽になっています。
自作は今では簡単なので、アイデアさえあればいくらでも最適化できます。
最後まで読んでいただきありがとうございました。
-
s※ ログイン不要で投稿できます。
※ 同じブラウザから投稿を削除できます。
0
読み込み中...
タグ「個人開発」の記事
個人ブログを見つけて、読んで、シェアするアプリ、こぶりー に、ちょっとした改善を入れました。 主に運営側向けの機能なので、こぶりーだより ではなく、ここで書きます。笑 ※ 最近ここの境界が曖昧になっていてよろしくない... 共有先にこぶりー
2026年09月23日
シルバーウィーク2日目、交通渋滞過ぎて疲労困憊民です。 個人ブログを見つけて、読んで、シェアするアプリ、こぶりー にWebmention対応向けのページを用意しました。 https://kobliy.vercel.app/webmentio
2026年09月20日
個人開発、趣味としてのアプリ開発において費用をできる限り抑えたいです。 特に課題になるのが DB選定です。 もう耳にタコができるぐらい色々な人が書いていると思いますが、私も書きます。 前提 趣味レベルのDB性能で十分です。 データ容量、処理
2026年09月18日
タグ「フロントエンド」の記事
Webmention というのを最近知りました。 名前の通り、Web 上でメンションすることができます。 受信側、送信側、どちらも対応したので感想を残そうと思います。 Webmention ざっくりと Web AサイトにBサイトのリンクをつ
ITヲタクな AI くんにピッタリな仕事の一つは、モジュールアップデート。 特に、メジャーアップデートが超助かる。 昔だったら 数ヶ月掛かった移行も、数日たらずに対応できるようになったので、 さすが ITヲタクくん。 対応してよかったフロー
以下で書いた通り、プロダクトコードを写経したテストコードを削除しました。 "こぶりー" ( https://kobliy.vercel.app/ ) という個人ブログを読むアプリのコードです。 https://silverbirder.gi