{"componentChunkName":"component---src-templates-post-template-js","path":"/posts/coding-principle-books","result":{"data":{"markdownRemark":{"id":"9bab538b-ad13-59a7-ad8f-1420aa0f1edb","html":"<p>プログラミングを学び始め、分岐・繰り返しといった基本文法を身に付けたら、次のステップとしては「読みやすいコード」を書く技術をつけたいです。</p>\n<p>この記事では、そういったコーディングの原則を学ぶための書籍を紹介します。</p>\n<h2 id=\"リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック\" style=\"position:relative;\"><a href=\"#%E3%83%AA%E3%83%BC%E3%83%80%E3%83%96%E3%83%AB%E3%82%B3%E3%83%BC%E3%83%89-%E3%82%88%E3%82%8A%E8%89%AF%E3%81%84%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E6%9B%B8%E3%81%8F%E3%81%9F%E3%82%81%E3%81%AE%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%A7%E5%AE%9F%E8%B7%B5%E7%9A%84%E3%81%AA%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF\" aria-label=\"リーダブルコード より良いコードを書くためのシンプルで実践的なテクニック permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><a href=\"https://amzn.to/3whpb5m\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック</a></h2>\n<p><a href=\"https://www.amazon.co.jp/dp/4873115655?&linkCode=li2&tag=oshimayuki0d-22&linkId=90aac0cdb6b2301b09d0039a16cc1fc2&language=ja_JP&ref_=as_li_ss_il\" target=\"_blank\"><img border=\"0\" src=\"//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=4873115655&Format=_SL160_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=oshimayuki0d-22&language=ja_JP\" ></a><img src=\"https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;language=ja_JP&amp;l=li2&amp;o=9&amp;a=4873115655\" width=\"1\" height=\"1\" border=\"0\" alt=\"\" style=\"border:none !important; margin:0px !important;\"></p>\n<p>まずは言わずと知れた『リーダブルコード』です。</p>\n<p>コーディングの原則を学ぶための書籍として定番中の定番で、誰もがおすすめする絶対に読むべき一冊です。</p>\n<p>ページ数も少なめで難易度も高くないので、プログラミングを学び始めてしばらくしたあたりで手にとってみることをおすすめします。</p>\n<p>プログラミングの学習で基本文法を理解したら、次はこの本に書いてあることを身につけるのが一番だと思います。</p>\n<h2 id=\"プリンシプル-オブ-プログラミング3年目までに身につけたい一生役立つ101の原理原則\" style=\"position:relative;\"><a href=\"#%E3%83%97%E3%83%AA%E3%83%B3%E3%82%B7%E3%83%97%E3%83%AB-%E3%82%AA%E3%83%96-%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B03%E5%B9%B4%E7%9B%AE%E3%81%BE%E3%81%A7%E3%81%AB%E8%BA%AB%E3%81%AB%E3%81%A4%E3%81%91%E3%81%9F%E3%81%84%E4%B8%80%E7%94%9F%E5%BD%B9%E7%AB%8B%E3%81%A4101%E3%81%AE%E5%8E%9F%E7%90%86%E5%8E%9F%E5%89%87\" aria-label=\"プリンシプル オブ プログラミング3年目までに身につけたい一生役立つ101の原理原則 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><a href=\"https://amzn.to/2TGAGEG\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">プリンシプル オブ プログラミング3年目までに身につけたい一生役立つ101の原理原則</a></h2>\n<p><a href=\"https://www.amazon.co.jp/dp/B071V7MY82/ref=as_li_ss_il?ie=UTF8&linkCode=li2&tag=oshimayuki0d-22&linkId=c7e95fe7e9e9a97ddc58a1f1d85f314d&language=ja_JP\" target=\"_blank\"><img border=\"0\" src=\"//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=B071V7MY82&Format=_SL160_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=oshimayuki0d-22&language=ja_JP\" ></a><img src=\"https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;language=ja_JP&amp;l=li2&amp;o=9&amp;a=B071V7MY82\" width=\"1\" height=\"1\" border=\"0\" alt=\"\" style=\"border:none !important; margin:0px !important;\"></p>\n<p>プログラミングする上での考え方の原則をまとめた書籍です。</p>\n<p>KISS・DRY・YAGNI など、多くのエンジニアが知っているプログラミングの原則が多数紹介されており、エンジニアが嗜みとして知っておきたい用語や考え方をおさえることができます。</p>\n<p>タイトルにある通り、3 年目までのエンジニアが読めるくらい難易度となっています。</p>\n<p>『リーダブルコード』の次くらいに読んでみるといいかもしれません。</p>\n<h2 id=\"code-complete-第2版\" style=\"position:relative;\"><a href=\"#code-complete-%E7%AC%AC2%E7%89%88\" aria-label=\"code complete 第2版 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><a href=\"https://amzn.to/3zbk48n\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">CODE COMPLETE 第2版</a></h2>\n<p><a href=\"https://www.amazon.co.jp/dp/B00JEYPPOE/ref=as_li_ss_il?ie=UTF8&linkCode=li2&tag=oshimayuki0d-22&linkId=46f4ccad27e2cd6f1c217eb82d0c6215&language=ja_JP\" target=\"_blank\"><img border=\"0\" src=\"//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=B00JEYPPOE&Format=_SL160_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=oshimayuki0d-22&language=ja_JP\" ></a><img src=\"https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;language=ja_JP&amp;l=li2&amp;o=9&amp;a=B00JEYPPOE\" width=\"1\" height=\"1\" border=\"0\" alt=\"\" style=\"border:none !important; margin:0px !important;\"></p>\n<p>コーディングのプラクティスを非常に手厚くまとめた書籍です。</p>\n<p>上・下巻で合計およそ 1200 ページとなっています。</p>\n<p>一部表現が難しくて読みにくい箇所もあるかもしれませんが、書いてあること自体はそれほど難しくなく、『リーダブルコード』の次くらいに読んでみることもできます。</p>\n<p>気軽に手に取れる本ではないかもしれませんが、読んだ方の評価は非常に高く、これを読破できればかなりの自信に繋がると思います。</p>\n<h2 id=\"達人プログラマー第2版-熟達に向けたあなたの旅\" style=\"position:relative;\"><a href=\"#%E9%81%94%E4%BA%BA%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC%E7%AC%AC2%E7%89%88-%E7%86%9F%E9%81%94%E3%81%AB%E5%90%91%E3%81%91%E3%81%9F%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E6%97%85\" aria-label=\"達人プログラマー第2版 熟達に向けたあなたの旅 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><a href=\"https://amzn.to/3geuGec\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">達人プログラマー(第2版): 熟達に向けたあなたの旅</a></h2>\n<p><a href=\"https://www.amazon.co.jp/dp/B08T9BXSVD/ref=as_li_ss_il?ie=UTF8&linkCode=li2&tag=oshimayuki0d-22&linkId=f3a9a3721c5bb70471ff39b299ea774d&language=ja_JP\" target=\"_blank\"><img border=\"0\" src=\"//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=B08T9BXSVD&Format=_SL160_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=oshimayuki0d-22&language=ja_JP\" ></a><img src=\"https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;language=ja_JP&amp;l=li2&amp;o=9&amp;a=B08T9BXSVD\" width=\"1\" height=\"1\" border=\"0\" alt=\"\" style=\"border:none !important; margin:0px !important;\"></p>\n<p>ここまでに紹介した書籍とは少し違い、プログラマとしての考え方などを書いている書籍です。</p>\n<p>書かれている内容はどれもエンジニアであれば知っておきたいものばかりなので、ぜひ一度読んでおきたい一冊です。</p>\n<p>2020 年末に第 2 版が発売されたばかりなので、購入するタイミングとしてもちょうど良いかもしれません。</p>\n<h2 id=\"その他\" style=\"position:relative;\"><a href=\"#%E3%81%9D%E3%81%AE%E4%BB%96\" aria-label=\"その他 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>その他</h2>\n<p>ここまで、コーディングの原則や、プログラマとしての考え方についての書籍を紹介してきました。</p>\n<p>もう少しオブジェクト指向系のコーディングについて学びたい場合は、</p>\n<ul>\n<li>『<a href=\"https://amzn.to/3zcLoDa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">リファクタリング(第2版): 既存のコードを安全に改善する</a>』</li>\n<li>『<a href=\"https://amzn.to/34W0Vt5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法</a>』</li>\n</ul>\n<p>あたりが比較的初心者向けでおすすめです。</p>\n<p>また、『<a href=\"https://amzn.to/3ghWkXx\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Effective Java 第3版</a>』などの Effective シリーズも、各言語の入門レベルからステップアップし、その言語らしい書き方を学ぶために非常に適した書籍となっています。</p>\n<p>その他、より高度なアプリケーション設計などを学びたい場合は、以下の記事で紹介している書籍も参考になります。</p>\n<ul>\n<li><a href=\"https://www.kanzennirikaisita.com/posts/application-architecture-books\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">アプリケーションアーキテクチャに関する書籍 4 冊の紹介</a></li>\n<li><a href=\"https://www.kanzennirikaisita.com/posts/ddd-books\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">【難易度別】ドメイン駆動設計 (DDD) の書籍 +α のまとめ</a></li>\n</ul>\n<h2 id=\"おわりに\" style=\"position:relative;\"><a href=\"#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB\" aria-label=\"おわりに permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>おわりに</h2>\n<p>プログラミングを学び始めるとまずは基本文法を理解することに精一杯になりやすいですが、次のステップとしてコーディングの原則を学ぶと、実務でも重宝されやすいです。</p>\n<p>この記事で紹介した書籍は、どれもよくおすすめされる高評価なものばかりです。\nぜひ手にとってみてください。</p>","fields":{"slug":"/posts/coding-principle-books","tagSlugs":["/tag/coding/","/tag/programming/"],"autoRecommendPosts":["linux-learning-roadmap","oop-books","computer-why-series","cpu-books"]},"frontmatter":{"date":"2021-03-31T12:16:36.360Z","description":"プログラミングを学び始め、分岐・繰り返しといった基本文法を身に付けたら、次のステップとしては「読みやすいコード」を書く技術をつけたいです。\nこの記事では、そういったコーディングの原則を学ぶための書籍を紹介します。","tags":["coding","programming"],"title":"コーディングの原則を学ぶための書籍まとめ","socialImage":null,"recommendPosts":["https://www.kanzennirikaisita.com/posts/oop-books","https://www.kanzennirikaisita.com/posts/software-developer-books-index"]}}},"pageContext":{"slug":"/posts/coding-principle-books"}},"staticQueryHashes":["251939775","3942705351","401334301"]}