スピードアップ

先輩にコードレビューをしてもらった。55点といわれた。一番問題なのは、55点をとるために時間をかけすぎていることだ。 この55点を80点にすることにもとても価値があるが、今興味があるのはどちらかというと、半分の時間で55点を取ることだ さて、どうすればスピードが上がるかだが・・・時間を4つに分ける。実装してる時間、考えたり調べたりしてる時間、テストしてる時間、何もしてない時間(すいません) 何もしていない時間を減らす方法はここでは割愛。一番減らしやすいのは、考えたり調べたりしている時間だと思う。ざっくりした言い方をすると、「ハマらなければすぐ終わる」実際これはかなり大きくて、しかも差が出る部分。 考えたり調べたりしている時間をさらに分ける。案件固有の、どうしようもない部分、当然、調べても載ってない。アーキテクチャに依存する部分。HTTPに依存する部分。 HTTPに依存する部分は、一番汎用的かつ、一番クリティカル。つまり、基礎。じゃあ簡単かというとそうじゃない。つけた力がそのまま効いてくる、もっとも注力すべき部分。GET?POST?SESSION?タイムアウトは?エラーハンドリングは?ログは? アーキテクチャに依存する部分は、ちょっとやっかい。というのも、ポリシーを理解することも大事だが、特有の書き方を覚えるか調べるかしなきゃいけない部分がある。同じアーキテクチャを使い続けられれば、かなり抑えられる部分ではある。 最後に一番大事なこととして、基本的に、スピードと品質は相関関係。品質が悪いとスピードも上がらないし、スピードを上げるために前述の部分を鍛えれば品質も上がる。。トレードオフになっているのは、汎用性やパフォーマンスの部分。