Skip to content

Milestones

List view

  • まだ学生だった2017年頃に初めて作ったJavaFXアプリだけれど、2020年になってもたまーに使用報告が届くので、未だに一部のユーザが使っているらしい。 このアプリを保守し続けるにあたって、以下の問題がある。 - コードがクソ過ぎてメンテナンスしたくない - 単体テストコードが存在しない - ビルドにantという古のツールを使っている - 依存している自作JARファイルのソースコードが残っていない - ビルドできない - 未だOracle Java8を使っている - 開発用ドキュメントが残ってなくてどういう作りになってるかうろ覚え - コントローラーにロジックが全部書かれている - クラス命名がクソ - パッケージ命名がクソ - Vimで実装している - コードスタイルが整っていない これらの問題を残したまま、エンジニアでない人にアプリを提供し続けるのは 僕のエンジニアとしてのプライドが許さなくなったので、重い腰を上げてリファクタリングすることにした。 主に以下を実施する。 - ビルドできないのをビルドできるようにする - Gradleでビルドできるようにする - コードフォーマッタを導入する - 開発用のドキュメントを書く - CIで自動ビルド+リリースできる環境を構築する - Oracle Java 8 -> OpenJDK14へアップグレードする - カスタムJREを一緒に配布するようにしてユーザ環境のJREに依存しないようにする - パッケージ命名をJavaプロジェクトで一般的な命名に変更する - コントローラーにロジックが全部書かれているのを分解してMVCスタイルの依存関係に変更する - 使ってる人がいないと思われる機能を削ぎ落とす - FXMLファイルを統合して1つにする - テストコードを実装する - CIで自動テストする - Intellij IDEAで開発できるようにする - テストカバレッジをCIで計測できるようにする 本当はKotlinとかで書き直したかったけれど、ここまでですでに規模が大きかったので諦めた。 そのうちKotlinに移行したい気持ちもありつつ、最近のJavaは高機能なのでJavaでも良いような気がしてきている。

    No due date
    30/30 issues closed