コードリーディングの一歩目
経緯
コードリーディングした方がいいよ。podcastのプログラマ雑談で言っていたので、どうやってやろう。となった。
彼曰く、コードの片隅から徐々に分かっていく感じがパズルに似ており、ためになるので、趣味にするのも良いらしい。
ためになる理由として、コードを読む力がつく。自分が一から作るより、見たことあるコードから作る方がずっといい場合がある。とのこと。
どこで探そう
では、どうやってコードを探すか。
githubでtrendingなコードを探してもいいだろう。
しかし、コードリーディングなんて、仕事のコードまたは仕事に関わるコードしか見たことがないのでどうしたもんかと。急に何を目的にしているか分からないコードを見てもなあ。。
AIZU ONLINE JUDGE なんてどう
AIZU ONLINE JUDGE: Programming Challengeは競技プログラミングサイトである。いくつかそう言ったサイトを見たことがあるが、人のコードを見れるので、細かいところでは参考になるだろう。
さらに、ただの問題だけではなく、アルゴリズムについての解説と問題もあるので、勉強しやすく、ほかの人のコードも読めるので良い。
探しやすいのも良い。確かに、たくさんの問題をクリアしたコードがあるのだが、処理速度、メモリ使用、コードサイズが表示されており、自分の結果より良いものを探してみるといいだろう。
ただ、自分の結果が別ページにあり、比較しにいくのがちょっと面倒だったが。
もちろん、興味ある分野がある人はそう言ったコードを探すのも良いだろう。しかし、短いコードから徐々に力をつける方が自分にはいい気がする。
AIZU→ライブラリ→??みたいな段階を踏んでいきたい。
人生長い。千里の道も一歩から。
AOJをやる上での注意
こういう問題を解いていくとき、行き詰まって、何時間も過ぎてしまう。
もちろん、夢中になるのも大事。考えることやり抜くこと。大事だが。
目的はコードリーディングなので、時間を決めて、できなければ諦めてコードを見て反省に繋げた方がいい。
本末転倒にならないように、自分への戒め。