てぃぐれのプログラマwiki

ワクワクに従う

コードリーディングの一歩目

経緯

コードリーディングした方がいいよ。podcastプログラマ雑談で言っていたので、どうやってやろう。となった。

彼曰く、コードの片隅から徐々に分かっていく感じがパズルに似ており、ためになるので、趣味にするのも良いらしい。

ためになる理由として、コードを読む力がつく。自分が一から作るより、見たことあるコードから作る方がずっといい場合がある。とのこと。

 

どこで探そう

では、どうやってコードを探すか。

githubでtrendingなコードを探してもいいだろう。

しかし、コードリーディングなんて、仕事のコードまたは仕事に関わるコードしか見たことがないのでどうしたもんかと。急に何を目的にしているか分からないコードを見てもなあ。。

 

AIZU ONLINE JUDGE なんてどう

AIZU ONLINE JUDGE: Programming Challenge競技プログラミングサイトである。いくつかそう言ったサイトを見たことがあるが、人のコードを見れるので、細かいところでは参考になるだろう。

さらに、ただの問題だけではなく、アルゴリズムについての解説と問題もあるので、勉強しやすく、ほかの人のコードも読めるので良い。

探しやすいのも良い。確かに、たくさんの問題をクリアしたコードがあるのだが、処理速度、メモリ使用、コードサイズが表示されており、自分の結果より良いものを探してみるといいだろう。

ただ、自分の結果が別ページにあり、比較しにいくのがちょっと面倒だったが。

 

もちろん、興味ある分野がある人はそう言ったコードを探すのも良いだろう。しかし、短いコードから徐々に力をつける方が自分にはいい気がする。

 

AIZU→ライブラリ→??みたいな段階を踏んでいきたい。

 

人生長い。千里の道も一歩から。

 

AOJをやる上での注意

こういう問題を解いていくとき、行き詰まって、何時間も過ぎてしまう。

もちろん、夢中になるのも大事。考えることやり抜くこと。大事だが。

目的はコードリーディングなので、時間を決めて、できなければ諦めてコードを見て反省に繋げた方がいい。

本末転倒にならないように、自分への戒め。