はらもじゃぱん

Hot Room Media to the peple -From Nonsense To Valuable- 人々にホットルームメディアを-無意味なことから意味のあることへ-

【書評】プログラマーになりたての人が学び始めに読むべき本『リーダブルコード』

time 2015/03/26

20150320233449

【前回の無料プログラミング学習サイトの記事はこちら↓】

www.hrm-japan.net

おはよう/こんにちは/おやすみなさいイトウケイイチです。
前の記事でも言いましたが、僕は去年からプログラマーになっています。
元々Webディレクターをやっていて、それからプログラマーにジョブチェンジ。

プログラマーになってネットや本から文法を学んで実際に自分でコードを書いていたりしていたのですが、自分で書いていて何をしているのかわからなくなってくる現象が起こり始めます。

それでも頑張ってなんとかプログラムが完成したと思ったら、もちろん不具合が出まくりで修正する必要があります。

しかし「動けばいいや」で作ってしまったプログラムは、なぜ動いているのか作った僕にもわかりません。

そしてなぜ動いているのかわからないから、どうやって直すかもわかりません。。。
修正するけど増々何やってるかわからなくなり泣きたくなります。。。
そうこうしてる内に約半年が経ちました。。。

まずは『リーダブルコード』を読むべきだった!

20150321151841

自分で自分が何をやっているのかわからないのは、自分でそうなるように書いていたからだった!

そこで最近ある人に勧められて読んだ本が『リーダブルコード』

(リーダブルコード = Readable Code)

一言で言えば、自分のコードをもっと読みやすく書く方法を教えてくれる本です。
勧めてくれた方からは「読めば人生変わるよ」とのことだったので、アマゾンで即買いました!

長くなってしまうので細かい内容についてはあまり触れませんが、要するにやることを減らせばいいんです。

プログラムは書けばその通りに動きます。逆に言えば、書いたとおりにしか動きませんし、人間みたいに気を遣ってあれこれしてくれることもありません。

僕のこれまでのコードは変数名やクラス名を適当に付けていたので、それぞれのコードが何をしてるのか把握するだけで30分くらいかかります。(自分で書いてるはずなのに。。。)

また、「あれだったらこれをする。あれじゃなかったらこれをする。」みたいな条件付きの処理もやたらと長くて「ん?これなに?」状態でした。。。

これは仕事全般に通じる内容だと思った

20150321151951

仕事をする上でできるだけ高速に処理して家に早く帰るためには、ある程度仕事にルールやテンプレートを作成して自動化すればいいと思います。

しかしそのルールやテンプレートをたくさん作りすぎて把握できなくなったり名前付けを適当にしたりすることで、整合性が取れなくなったりします。

この本で言われれることは明快で、要するに「シンプルに誰にでもわかりやすく」

こうやって言葉にすると当たり前に感じますが、実際にそれを完璧にできている人はあまりいない。

日頃から業務のシンプル化を行い続けて完成されていくものでしょう。

プログラムも人間が作るものですから同じことです。

何が言いたいかというと、僕のプログラムが汚いのは「だって人間だもの。32◯」ということです。よろしく。

まとめ

ということで書評をやってみましたがいかがでしたでしょうか?w

僕は書評を読むのは好きでよく見てますが、書くことには慣れていません。。。たぶんよくわからない内容になっているんじゃないかw

これもまた「シンプルに誰にでもわかりやすく」という『リーダブルコード』の原則を適応できるなw

てことでプログラマーになりたての方はコードを書くのが楽になるし、なにより書くのが楽しくなってくること確実なので是非読んでみてください。

では!

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

  • 作者: Dustin Boswell,Trevor Foucher,須藤功平,角征典
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2012/06/23
  • メディア: 単行本(ソフトカバー)
  • 購入: 68人 クリック: 1,802回
  • この商品を含むブログ (126件) を見る

TwitterとFacebookページも運営していますので、面白かったらフォロー/いいねをしてください!めっちゃ喜びます!w

twitter.com

www.facebook.com