個人的に開発をしたり、仕事の中で感じた効率的な開発を行うためのちょっとしたTipsを書き留めておく。
1.デザインは最低限、機能の実現を優先
作ろうとしている機能は今の自分には難易度が高すぎたり、APIの関係で実装不可能だったりもする。
実装が変わればそれを乗せるデザインも当然変わる。
開発の中でもっといいデザインを思いつくことも多い。
デザインが変わればそれまで費やした時間は無駄になってしまう。
デザインは大事だけど中身がなければ始まらない。
2.車輪の再発明をしない
名著「リーダブルコード」曰く、「簡潔なコードを書くのに欠かせないことは、ライブラリが何を提供してくれるかを知ることだ。」
開発に使っている言語やライブラリが提供してくれるメソッドや機能を使わない手はない。
ドキュメントを眺めて、API名から「だいたいこんなことができる」ということをわかっておくといいかもしれない。
車輪の再発明に割く時間を削減すれば、開発独自のロジックに注力できるしバグも減る。
3.「誰かが使うかも」とか「あったらいいな」は切り捨てる
そういうのはだいたい要らないようだ。再び「リーダブルコード」の言葉を借りると、
「その機能の実装について悩まないで ――きっと必要ないから」
ということ。でも開発者(特に私なんか)は得てして「この機能は絶対に必要だ」とか、「こうやるしかない」とか思い込んでしまう。目の前のコードを何とかすることに囚われてしまう。
難しくて時間のかかる実装に必死こいて取り組む前に、一步下がって、一呼吸置いて考えてみよう。
「もっと簡単な方法はないか」
「そもそも必要なのか」
時間をかけてやっと実装した機能が実はいらないものだった、なんてのは悲惨だ。
4.エディタの機能をフル活用する
開発に使用しているエディタやIDEの機能にある程度習熟しておくこと。
人気の高いプラグインを入れておくことは元より、ちょっとした文字列編集を行うためのキーバインドは使いこなせるとかなり便利。
行の入れ替えとか、連番作成とか、機会の多い割に煩雑な操作は特に。
5.急がば回れ
ちょっと面倒だけどちゃんとやっておけば後々時間の節約になることは多い。
例えば次の3つなんかどうだろうか。
・エラーログを読む
ちゃんと読んでみると、結構いいことを言っている。
手当たりしだいに怪しいところをいじってみるより、解決への近道になることは多いと思う。
英語でもそんな難しい言葉は使っていない。
・自作スニペットを作る
Dashとかのスニペット管理ツールを使って過去に書いたコードの断片をすぐ呼び出せるようにしておく。
私自身の傾向として、過去に書いたのと似たような処理を書くことはよくある。
そしてそのほとんどはどうやって書いたのかわからないものが多い。
・便利と言われているツールを導入する
新しいツールの導入には学習コストがかかるがその分得られるメリットは無視できない。
そのツールが話題になっているのにはやはり理由がある。
学習コストと効率化のメリットは釣り合わないことが多い。そのほとんどはいい方向にだ。
6.BGMをYouTubeで探さない
底なし沼だぞ。