意地悪企画発生。というのも、ここ最近はJunieはまだちょっと微妙だな…と思う事が多くなってきたのもあって、Junieにゼロイチで書かせたコードをJunieにリファクタさせても大した改善がなかったので、Cursorにリファクタさせるか!と思い立ったのである。
Junieにゼロイチで書かせたコードで個人的に気になった項目は以下の通り。
- コンポネントの構造と再利用性
- え?これ別コンポネントなの?というものがちらほら
- エラーハンドリング微妙
- ガバガバなんよ
- 型定義がクソ&クソ
- anyが存在したり、そもそも定義してなかったり
- ロジックとUIがひとまとめに書かれてる
- 1ファイルにゴミゴミと書きよって…
ぱっと思いつくだけでもこれだけある。たぶんもっとちゃんと見ればわんさか出てくるだろう。どうやらJunieの使ってるモデルはclaude 3.7 sonet。Cursorでclaude4を指定してリファクタさせれば改善されるんじゃね?と。(Junieはモデルが選べない)
とりあえずモデルをclaude4 sonetを指定して、いつものように雑にベストプラクティスに改善しろと。Cursorが出してきて改善点は以下。
Cursorが出してきた主な改善点
- 関心の分離: データ取得ロジックをサービス層に分離
- エラーハンドリング: より堅牢なエラー処理
- 型安全性: より厳密な型定義
- パフォーマンス: メモ化とコード分割
- 保守性: コンポーネントの分割と再利用性向上
- SEO: 構造化データの改善
オーマイガ。よくわかってるじゃないか。(Junieあかんやんけ…)小規模サイトなのにchange filesの数は20を越えた。保守性もバッチリ上がっていた。ぐぬぬ…
ちなみに、Junieはデザインファイルなどのファイルをぶん投げてこれ作れや、という指示ができない。まずファイルを渡せない。Cursorはできる。Cursorはできる。
結論
ひとまずJunieさんがもっと進化するまではCursorを使う方向で…やっぱりJetBrainsを使いたいのでつなぎとします。
しかし、エディタを変えると使い勝手が違いすぎて違和感というか使いにくさというか、現時点ではかなりストレスを感じています。あまりにもVSコードすぎるんじゃ。もういっそのことショートカットとか統一してほしい…