プログラミングのレベルアップしたいならサンプルコードを探すのだ。

f:id:hrmch-ioii:20170420004454j:plain

@nabeemichi です。

フリーランスでエンジニアをしていると、いろいろな経歴を持った人のソースコードを見ます。 SIer出身のソースコードみたり、有名なベンチャー出身の人のソースコードを見たりします。 ソースコードは人間が記述するので、それなりに癖があるのは仕方ない。 どんな経験をしてきたとしても、プログラミングのレベルが高い人とそうでない人がいるわけ。 みんなそれなりにプロジェクトを経験してきてるのにレベルに差がでてくる。 この差がつく理由が何なのかを観察してみた。

サンプルを探す人、探さない人

一番の違いはこれだろう。 レベルアップしていく人はサンプルを探す。 社内のソースコードを探したり、GitHubを検索したりする。

自分が実装したいことに近いことなんて誰かがすでにやってるはずだ。 だからサンプルを探して、自分の実装したいことにフィットさせよう!と、考える。

サンプルを探すと、スタート地点が一気に上る。 何もないところから実装するよりも難易度は下がるうえに、サンプルから書き方も学べる。

僕もサンプルをよく探すが、こんな書き方できるんだー!!って勉強になることが多々あるし、 こうゆうことができるなら、こんなこともできるのでは? と思って、サンプルを改造して実験したりする。


一方サンプルを探さない人は、書き方がゼロから自分で考えた方法でプログラミングしている。 少し調べればもっと楽な方法があるのにもかかわらず、自分の持ってる知識のみで戦っているため、 実装の量も多いし、読んでいて何がしたいのかわからない。 そして一番やばいのが、新しい知識や実装に対する考え方がアップデートされないから、プログラミングが成長しないのだ。

日々進化しているフレームワークや技術のなかで戦わないといけないので、プログラミングの知識と考え方は常にアップデートしよう。 というか、サンプル探さないでどこで勉強してんだろ?

サンプルを見ることでセンスを鍛えれる

センスといっても大した事ではない。 自分が実装したいことに対して、他のケースや他のアプリでもやらなきゃいけないことだから、簡単な方法あるはず!と考えて検索するクセがつくということ。 これが大事で、プログラミングの生産性を上げるポイントにもなる。

そして、いろいろなサンプルを見たりすることで、自分がやってることがおかしなことしてないか?って判断もできる。 サンプル見つからなかったら、変なことしてるから考え方変えたほうがいい。もしくはガチで世界初のことをしているかのどっちかだ。