IT関連・転職体験談 PR

すべてのSEに一度は読んでもらいたい プログラミングの心得とコツがわかる本

記事内に商品プロモーションを含む場合があります

どうも、まだまだ勉強中のシンです。

優れたコードとはいったいどんなコードでしょうか。
その答えがこの本には記載されています。
決して複雑な処理や、高いスキルを要さないと理解できないコードではないのです。
個人のスキルを伸ばす前の心構えと言うか、プログラマの根底に持つべき概念みたいなものをこの本が教えてくれました。

【リーダブルコード】
著:Dustin Boswell、Trevor Foucher
訳:角 征典

これからSEデビューする人はぜひ読んでもらいたい。
経験者は、後輩の指導に活用してはどうでしょうか。

 

高度なスキルを身に付けるだけでは優秀なSEとは言えない

例えば「Java Programmer Gold」の資格保有者は、持っていない人と比べてはるかにスキルが高いと言える。
だからと言って優れたコードが書けているかと言えば、それはまた別問題だ。

java、C#、C++とプログラミング言語は様々で、特性や作法はそれぞれ違うものの、例えば変数の付け方やコメントの書き方などの考え方は変わらない。
プログラミングする前の考え方やコツなどがこの本には載っているのです。
例文も実践向きだし、読むだけで今すぐに使えるノウハウばかり。
まさにSEの教科書だ。

同じプログラミング力でもこの本を読んだ人と、読んでない人とではセンスの差が出ると思う。
プログラミングの研修や講座は山ほどあるのに「優れたコードの書き方」講座がないのはなぜだろう。
重要だと思うけど・・・

 

シンプルイズベストを実現するための手法

家電でもそうだけど複雑な作りになればなるほど壊れやすくなる
昔の家電は作りがシンプルなだけに丈夫だった。
コードも同じでできればシンプルに書くのがベストだ。
複雑なコードで実現すると、自分以外の誰かが読んだ時に、理解に時間がかかる。
シンプルなコードの方が読みやすいし理解しやすいのだ。
それはつまりメンテナンスのしやすさに繋がる。

どんなに素晴らしいシステムを作っても一回作って終わり、はい終了!になることはない。
不具合対応、改修、機能拡張、あらゆる理由でコードは読み返される
この時、コードを読んで理解するまでの時間が短ければ短いほどいい。
誰が読んでも短い時間で理解できる読みやすいコードは、センスを感じるし効率も上がる

それにはどうすればいいのか、名前の付け方やコメントの書き方、ロジックの単純化などを例文を交えて教えてくれる。
この本が書いてあることを実践できたら、間違いなく理解しやすいコードになると思う。

 

一発で納得できる挿絵が魅力的

この挿絵が素晴らしくいい。
もう笑えないけど笑えるものばかりだ。そして一発で納得する挿絵なのだ。
例えばコードの美しさの重要性を説明する挿絵では、面接官に「履歴書には『細部に強くこだわる』とありますが?」と突っ込まれる不潔な男性が描かれている。

結末まで描かれていないが恐らく採用されないだろう(苦笑
このように美しいコードの重要性を訴えているのだ。
縦位置を揃える、一貫性を持たせる、段落を持たせる、そんなノウハウがしっかり書かれている。

 

人生と同じで思いやりが大切

もうね、なにをやるにしても結局ここに辿り着くの。
「ここに一言コメント入れたら読み取りやすいかな」とか「長くなったからこの辺は短く分割して書けばわかりやすいかな」とか、次に読む人の身になって考えれば、おのずと読みやすいコードになるはずです。
相手を思いやりながらコーディングする。
相手と言っても「未来の自分」って可能性も大きいので絶対に無駄になることはない。
適切なコメントを未来の自分が読んだとしたら「書いといて良かった~」と思うはずだ。
去年の自分がどんな思いで書いたかなんて覚えてないからね。

 

すべてのSEに一度は読んでもらいたい本

本当に目から鱗の話が盛り沢山だ。
「テストのカバレッジを100%にするのはやりすぎ。コストに見合わない。」
当時の現場では100%になるまでテストさせられていたので、これは染みたなぁ。
理由も最もだしね。

ひとつひとつ納得のいく内容がかかれていて、実践したら本当に優れたコードになると思う。
今でも覚えている昔の上司が言った台詞。

「理想は『簡単な処理の組み合わせで難しい処理を実現する』だ」

本当にその通りで今でもこれを目指している。
理想なので実現するのはなかなか難しいが・・・

本書の内容はプログラムのことばかりだが、設計書を書くにしてもテストをするにしても全てに繋がってくると思う。
約200ページちょいの薄い本なので気軽にさらっと読める。
一度読んでみてはどうだろうか。