アカルイミライ

シンプルだけど、自分らしいスタイルがあるミニマルな暮らしを目指して…体調管理のため、ランニングもしてます。

follow us in feedly

リーダブルコード 読書メモ

リーダブルコードを読んで、ベーシックスキルを上げちゃおう!

オイラは、ハードウェアエンジニアなんだけど、自身のベーシックスキルの向上のため、プログラミングを少しずつ勉強しています。そんなプログラム初心者も、ある程度習熟した人も、常にこんな思いを持ちながらコードを書いているのではないでしょうか?

  • もっと分かりやすいコードにするには、どう書けばいいんのだろう。
  • バグを少しでも減らすにどうしたらよいのだろう。
  • 誰が見ても、美しいと言ってもらえるようなコードが書けないかな。

そんな人が、一度は読んでおいた方がよいと言われている書籍が、「リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック」ってことらしいです。

ってことで、早速、読もうと思ったのですが、この書籍の原著「The Art of Readable Code (Simple and Practical Techniques for Writing Better Code)」が以下のサイトからダウンロードでき、無料で読めちゃうのです。みなさん、知ってましたか?

その他のオライリーの原著(もちろん英語です。)も色々あるので、英語に自信のある方は是非っ!

it-ebooks - The Art of Readable Code - へのリンク

そうは言っても、やっぱり翻訳済みの日本語版をサッと読んでしまう方が、実際のところ効率は良いと思いますし、こういう本は、手元に置いてペラペラ眺めるのがよいと思うので、日本語版のAmazonへのリンクも張っておきますね。

 #本書の邦訳は、とても素晴らしいようなので、それだけでも価値ありそうです。

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

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

ってことで、前置きが長くなりましたが、リーダブルコード(原著)の読書メモをここに書いていこうと思います。

The Art of Readable Code

Simple and Practical Techniques for Writing Better Code

  • 著者は、googleのエンジニアである Dustin Boswell と元Microsoftで現在は、Googleのエンジニアである Trevor Foucher。
  • 著者の二人は、5年に渡り数百のコードを分析して、頭を悩まさせる醜く、バギーなコードの原因を探った。
  • より良いコードを書くためには、「他人が最短の時間で理解できるようにすること。」だ。(数か月後の、自分自身も他人)

GoogleMicrosoft のエンジニアでも、醜く、バギーなコードに頭を悩まされているんですね!

序文 (PREFACE)

  • この本のゴールは、あなたのコードをより良いものにすること。
  • この本の対象は、プロジェクト全体のアーキテクチャや、デザインパターンの選択といったものではない。
  • プログラマとしての日常で多くの時間を使う、変数のネーミング、ループ処理のコーディング、ファンクションレベルでの問題解決に関するもの。
  • これらの作業は、すでに存在するコードを読んだり、エディットしたりといった作業が大部分を占めている。

本書の狙い (What This book is about)

  • 本書は、いかにして読みやすい(理解しやすい)コードを書くかに関するもの。
  • ゴールは、あなたのコードを他人が最短の時間で理解できるようにすること。
  • 本書では、C++PythonJavaScript、そしてJavaを用いた数多くの例を使って説明する。
  • 本書は、4つのパートで構成される。

    • Surface-level improvements ... ネーミング、コメント等
    • Simplifying loops and logic ... 理解しやすくするためにループ、ロジック、変数をリファインする方法
    • Reorganizing your code ... 大きなブロックのコードを編集する方法、ファンクションレベルで問題を解決する方法
    • Selected topics ... テスティングや、大きなデータ構造に対して、理解しやすさを適応する方法

とりあえず、序文の部分だけ。あ~、疲れた。読むのはそんなに時間かからないのに、まとめると時間かかりますね^^ まぁ、勉強も兼ねて、Markdown 記法でこの記事を書いてるのも、一つの原因ですが・・・

ってことで、続きは次回に。