#137:恐怖の動作確認

今日も何時もの如くリファクタリングを進めていたが、最初から知ってれば今頃作業は終わってるだろうなっていう便利なショートカットを覚えたのでメモしておく。逆に何でよく使う動作のショートカットを調べなかったのか今では不思議に思う。プログラマーの三代美徳の一つであるLaziness(怠惰)を忘れないようにしたい。

  • +
    • ハイライトされたエラーまたは警告を修正し、コード構成を改善または最適化
  • + 1
    • プロジェクトツールウィンドウに焦点を合わせる
  • + + v
    • コピー履歴からペースト
  • + g
    • マルチカーソル
  • + y
    • 選択中の行をデリート
  • + Enter
    • 行を追加
  • + w
    • 現在開いているタブを閉じる
  • + j
    • テンプレートを表示
  • + t
    • リファクタリングメニューを表示

リファクタリングに関しては上記のコマンドを覚えれば倍近く作業スピードが上がる。覚えれば覚えるほど効率が上がるから全てのショートカットを暗記しようと試みるけど実際に使わないのであれば覚えるのは難しい。リファクタリングは退屈だが普段使わないコマンドを覚える良い機会だと思って取り組んだ。結果的に必要に駆られることで半無意識レベルで使えるようになったから実践が如何に大事かということだろう。

さて、相当な行数を書き換えて何とかJSPのリファクタリングが終わった。途中でファイル構造が気になり初め、それらの修正もしたから個人的にはかなり綺麗なコードになったと思う。誰も見てくれる人がいないのが悲しいところである。一応下に今回修正したJSPのIssueを貼っておく。

前にも述べたが気掛かりなのは動作確認だ。作業効率を重視したかったのでこのリファクタリングをしている間は一切動作確認をしていない。UIや機能は同じだが中身のコードが80%は違ってる訳で当然エラーが出るだろうと高を括っていたが実際試してみる段階では心配になってきた。

先ずはモデルのエンティティ名やクエリを大幅に変更したのでデータベース(MySQL)のフォーマットをした。たまにしかSQL使わないからド忘れしててちょっと残念。テーブルの削除はDROP TABLEだったね。一気にデータベースごと削除する方が早いからDROP DATABASEを使用した。これで下準備はOK。満を持してサーバーを起動しlocalhost:8080を開いてみた。すると、

見慣れたこの画面。やっぱりエラーが……。まあ、ちゃんと読めばエラーの原因もしっかり書いてあるし慌てることはない。見え難いかもしれないけどクエリが原因と書いてある。心当たりがあったところを調べると見事なタイポだった。修正して再びアクセスすると無事にログイン画面が表示され一安心。

が、ここでまた一つ問題が。さっきデータベースを消したから登録されているユーザーが居ない。ユーザーが居なければログインしようがない。とはいえ、それは分かり切っていたことだ。先ずはログイン画面のフィルターで仮のデータを入れる。次にパスワードをハッシュ化するコードを書いていたのでそれをコメントアウトすれば解決。仮のユーザーでログインしたらハッシュ化のコードを元に戻して新規にユーザーを作成すればログイン周りは問題ない。

そこから一つずつ動作確認をしていく必要があるが今日はちょっと疲れたから明日にしようかな。思ったよりも変なエラーに遭遇しなくてよかった。ちょっと拍子抜けした。

To comment

@Contents
閉じる