考えても良い書き方が浮かばないコードをそれなりに上手く書く方法

元気に生きていれば上手く書けないコードの一つや二つ出てきます。そんな上手く書けないコードを、どう書くか。

分解、分解、分解

とりあえずコメントを書く

とりあえず書きたい処理をコメントに書きます。

def awesome_method
  # あれをする
  # これをする
  # それをする
end

コメントに対応する処理を埋める

コメントに対応する処理を埋めていきます。コードをシンプルに書くとかそんな余計なことは考えずに、コメントに対応した処理を実現するようにします。動けばいいです。

def awesome_method
  # あれをする
  # ...10行ぐらいのコード...

  # これをする
  # ...10行ぐらいのコード...

  # それをする
  # ...10行ぐらいのコード...
end

動いたので綺麗にする

動いたあとは綺麗にしましょう。

def awesome_method
  # ...3行ぐらいのコード...
end

TDD(テスト駆動開発)でやるときも同じ要領で

TDD(テスト駆動開発)でやると、ちゃんと動いていることを確認できるので、動いたあとに綺麗にするのが楽です。いちいち手で動作確認するのも面倒くさいですからね。

なぜこれで上手く行くか?

「上手く書けないなー」と思うときは、大体が余計なことを考えているので、実現すべき内容を箇条書きに書き出して一個ずつ撃破していけば、意外とちゃんと仕事が進んだりします。余計なことの正体は、「実現すべき内容を一気に上手くやろうとしよう」という思考なのでした。