LoginSignup
0
0

More than 3 years have passed since last update.

[リファクタリング]リファクタのリファクタ。もしくはある日のきのこたけのこ大戦争~糸冬~

Posted at


[アドベントカレンダー 2019年]

18th December 2019

## これ、完全に身内用やねんな。
## 外野さんは細かい突っ込みは無しで頼むんやで。
## そのレベル?的な内容から書いてるでな。

\ い つ も の /

  1. 内容の純粋な整理(不要な変数消したり、各種名前を整えたり。)
  2. 計算回数を減らす -> 効率性がUP!
  3. 見え方、ぱっと見の分かり易さを向上する -> 保守性がUP!
  4. 新しい記法のトライアルで -> 結論が分かっている機能だからナレッジに転化しやすい

アドベントカレンダーで、わざわざ3回に分けてそれぞれの記事を書いてきました。
今回はさっくり総集編ってことで話をまとめてリファクタのまとめとしたいと思います。

色々まとめ

大きく3つの観点で話をしてきましたが、結局は全部併せて考えることなんですよね。

とりあえず動いた!

余計なもの消してシンプル化する!

余計な計算したくない!

1年後に見ても分かり易くしたい!

(新しい書き方がリリースされたからカッコ良くしたい!)

こんな感じで段階的に考えていくと良いのかなぁって。

この中で一番重要な事を決めるってなるとタイトルの通りになっちゃいますが、
敢えて言えばシンプル化して計算を最低限にするところまでは必須である感覚があります。

まず動くようにすることはシステムを作る以上は大前提ですが、
不要な計算を放置することは様々なリスクを抱えることになります。

保守性を上げることは「システムを変更する場合」のリスクはありますが、
そのまま動かすだけならリスクはありません。(いや、汚いことのストレスは過大なんですが。)

今回、"4." には言及してませんがjava7以前とjava8以降とか、
ラムダ式筆頭にStreamAPIだったりDateAPIだったり使ってリファクタするのも良いですよね。

人によって "見やすい" とか "使って見たい" とかって違うので、
タイトルの きのこたけのこ大戦争 は主に "3." について話そうとしていた残骸です。

リーダブルコード先生にはいまだにお世話になりますが、
やっぱりその中でもここは分かるけどここは納得できないとかありますし、
コーディング規約も場所によって違いますよね。

出来れば "1, 2" をしっかり出来て(まぁ、~急~でバグコード出したのが僕ですが) "3." について話し合える段階になると、
うちの会社も一定のレベルになるなぁ、と思っていたりします。

みんながんばれ(DQ4並の作戦)

ぼくのかんがえたさいきょうにみやすいこーでぃんぐるーる、でバトルしようぜ

正直、最後総集編とか言ってたけど書くことなさ過ぎてびっくりした。
きのこたけのこ大戦争してくれる若手の台頭を待ってるってことだけ言いたかった。
後悔はしていない。

とりあえずリファクタはこんなもんかなぁ。
最後にTDDについて書いて僕の担当分は完了したいと思います。

めっちゃ短いけどここまであざしたーヽ( ・∀・)ノ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0