プリンシプル オブ プログラミング 3 年目までに身につけたい 一生役立つ 101 の原理原則
プリンシプルオブプログラミングサンネンメマデニミニツケタイイッショウヤクダツヒャクイチノゲンリゲンソク
3 年目までに身につけたい 一生役立つ 101 の原理原則
- 著者:
- 上田 勲(ウエダ イサオ)
- 価格:
- ¥2,420
- 出版社:
- 秀和システム
- 出版日:
- 2016年03月22日頃
- ISBN:
- 9784798046143
- 在庫:
- 1
- 判型:
- 単行本
なぜ注目されているか
書籍紹介
一通りプログラミングができるようになった。しかし、読みにくい、遅い、頻繁にエラーが発生する、書いたコードを修正すると動かなくなる等々、なかなか「よいコード」を書けないとお悩みではありませんか? 本書は、よいコードを書く上で指針となる前提・原則・思想、つまり「プリンシプル」を解説するプログラミングスキル改善書です。初心者向けの書籍では絶対に説明しない、古今東西のプログラマーの知恵をこの一冊に凝縮しました!
技書の森解説
『プリンシプル オブ プログラミング 3 年目までに身につけたい 一生役立つ 101 の原理原則』 (上田 勲 著、秀和システム、2016 年 3 月刊) は、よいコードを書くための前提 / 原則 / 思想を「プリンシプル」として 101 項目に整理した書籍です。版元の紹介文は、一通りプログラミングができるようになったものの、読みにくい、遅い、エラーが頻発する、修正すると動かなくなるといった悩みを抱える人に向けた、プログラミングスキル改善書と位置づけています。特定の言語の文法ではなく、言語を替えても持ち運べる判断の物差しを一冊で揃えたい人のための本です。
前提から法則まで 7 章、101 項目の並び
構成はプロローグと全 7 章で、各章の題が項目の性格を表しています。第 1 章の前提は、銀の弾丸はない、コードは設計書である、コードは必ず変更される、という 3 項目。第 2 章の原則は KISS、DRY、YAGNI、PIE、SLAP、OCP、名前重要の 7 項目で、日々のコーディングの指針にあたります。項目数で全体の過半を占めるのが第 3 章の思想で、プログラミングセオリーを支える価値と原則、抽象やカプセル化、関心の分離といったアーキテクチャ根底技法、変更容易性やテスト容易性などの非機能要件、7 つの設計原理、UNIX 思想と UNIX 哲学までを 64 項目で収めています。第 4 章の視点は凝集度、結合度、直交性、可逆性、コードの臭い、技術的負債、第 5 章の習慣はプログラマの 3 大美徳やボーイスカウトの規則など、第 6 章の手法は曳光弾、契約による設計、防御的プログラミング、ラバーダッキングなど、第 7 章の法則はブルックスの法則、コンウェイの法則、割れた窓の法則、車輪の再発明、ヤクの毛刈りといったアンチパターンを扱います。プロローグでは、プリンシプルのカテゴリや説明の書式、用語法といった本書の読み方が示されます。
名前の付いた原則を知ることが、レビューと設計の会話を変える
設計原則の多くは、ベテランが経験から身につけた勘を後から言葉にしたものです。名前を知らないうちは「なんとなく読みにくい」としか言えなかった違和感も、ひとつの関数に抽象度の違う処理が混ざっている、変更の理由が違う部品が同じ場所に同居している、と言い当てられるようになると、コードレビューでの指摘が具体的になり、相手も納得しやすくなります。シンプルさを保つ KISS の考え方 と、拡張に開き修正に閉じる OCP が、ときに逆方向を指すように、原則どうしは互いに引っ張り合う関係にあります。どの原則をどの場面で優先するかを判断するには、個々の原則の背景を知っておく必要があり、本書のように前提、原則、思想、視点、習慣、手法、法則と性格の違う項目を一冊に並べた構成は、その見取り図として使えます。
新人から 3 年目までの読者に合う理由と、合わない場面
書名のとおり、想定しているのは入門書を終えて実務でコードを書き始めた段階の読者です。一つの言語で実際に動くものを作った経験があり、他人のコードを読んだり、自分のコードを直したりして苦労した経験があると、各項目が自分の場面と結びつきます。一方で、101 項目を一冊に収める構成上、1 項目あたりの紙幅は限られるため、特定の設計手法やパターンを実装まで追いたい人、ある言語での具体的な書き方を学びたい人には、それぞれの専門書が別に必要になります。本書は辞書のように引ける索引の役割を持つ本で、気になった原則の出典にあたる書籍へ進む起点として使うと効果が大きくなります。後輩への贈り物として技術書を選ぶ視点は 新人エンジニアに贈る技術書の選び方 にもまとめています。
レビューで指摘はされるのに理由がうまく飲み込めない、自分のコードのどこが悪いのかを言葉にできない、という段階の人にとって、101 項目の原理原則を手元に置いておくことは、その後の学習の地図を持つことに近い効果があります。通読した後も、設計に迷った場面で該当する項目を引き直す使い方ができる一冊です。
言及した記事 (90 件)
iOSアプリ個人開発で使ってるツールとかノウハウを公開してみる
♡ 1539Objective-C, iOS, Swift新人さんにすすめる有益な技術書達 2022春
♡ 528読書, まとめ, 新人プログラマ応援可読性の高いコードを書くための実践ガイド
♡ 457Python, リーダブルコード, コードの書き方今まで読んだ技術書の中で汎用的で印象に残っているものをまとめてみる
♡ 307PHP, 初心者, 技術書, レガシーコードSE 1年目で読んだ技術書68冊+α
♡ 277Java, 初心者, 技術書, Se「プリンシプルオブプログラミング」はできる人が普段から行っていることをまとめた良書である
♡ 117プログラミング, テスト, プロジェクト管理, エンジニア, 新人プログラマ応援「プリンシプル オブ プログラミング」を読んだので、その要点
♡ 104読書, 感想文, プリンシプルオブプログラミングプログラミング設計思考の基礎の基礎の基礎
♡ 65設計, アーキテクチャ, フロントエンドゲーム制作するUnityエンジニアのオススメ本
♡ 63Unity, 初心者, ゲーム制作, ゲーム開発, 数学やり直しUnityで初学者から中級者までを駆け抜けるためのおすすめ書籍
♡ 53C#, Unity, 書籍, ゲームデザイン, 新人プログラマ応援