書店員向け情報 HELP
出版者情報
書店注文情報
プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則
3年目までに身につけたい 一生役立つ101の原理原則
- 初版年月日
- 2016年3月
- 書店発売日
- 2016年3月22日
- 登録日
- 2016年8月25日
- 最終更新日
- 2022年12月15日
紹介
一通りプログラミングができるようになった。しかし、読みにくい、遅い、頻繁にエラーが発生する、書いたコードを修正すると動かなくなる等々、なかなか「よいコード」を書けないとお悩みではありませんか? 本書は、よいコードを書く上で指針となる前提・原則・思想、つまり「プリンシプル」を解説するプログラミングスキル改善書です。初心者向けの書籍では絶対に説明しない、古今東西のプログラマーの知恵をこの一冊に凝縮しました!
目次
プロローグ 本書の読み方
0.1 プリンシプルのカテゴリ
0.2 プリンシプルの説明のフォーマット
0.3 プリンシプルの説明における用語法
0.4 プリンシプルの説明の注意点
第1章 前提 ~プログラミングの変わらぬ真実~
1.1 プログラミングに銀の弾丸はない
1.2 コードは設計書である
1.3 コードは必ず変更される
第2章 原則 ~プログラミングのガイドライン~
2.1 KISS
2.2 DRY
2.3 YAGNI
2.4 PIE
2.5 SLAP
2.6 OCP
2.7 名前重要
第3章 思想 ~プログラミングのイデオロギー~
3.1 プログラミングセオリー
3.2 【プログラミングセオリーを支える3つの価値1】コミュニケーション
3.3 【プログラミングセオリーを支える3つの価値2】シンプル
3.4 【プログラミングセオリーを支える3つの価値3】柔軟性
3.5 【プログラミングセオリーを実現する6つの原則1】結果の局所化
3.6 【プログラミングセオリーを実現する6つの原則2】繰り返しの最小化
3.7 【プログラミングセオリーを実現する6つの原則3】ロジックとデータの一体化
3.8 【プログラミングセオリーを実現する6つの原則4】対称性
3.9 【プログラミングセオリーを実現する6つの原則5】宣言型の表現
3.10 【プログラミングセオリーを実現する6つの原則6】変更頻度
3.11 アーキテクチャ根底技法
3.12 【アーキテクチャ根底技法1】抽象
3.13 【アーキテクチャ根底技法2】カプセル化
3.14 【アーキテクチャ根底技法3】情報隠蔽
3.15 【アーキテクチャ根底技法4】パッケージ化
3.16 【アーキテクチャ根底技法5】関心の分離
3.17 【アーキテクチャ根底技法6】充足性、完全性、プリミティブ性
3.18 【アーキテクチャ根底技法7】ポリシーと実装の分離
3.19 【アーキテクチャ根底技法8】インタフェースと実装の分離
3.20 【アーキテクチャ根底技法9】参照の一点性
3.21 【アーキテクチャ根底技法10】分割統治
3.22 アーキテクチャ非機能要件
3.23 【アーキテクチャ非機能要件1】変更容易性
3.24 【アーキテクチャ非機能要件2】相互運用性
3.25 【アーキテクチャ非機能要件3】効率性
3.26 【アーキテクチャ非機能要件4】信頼性
3.27 【アーキテクチャ非機能要件5】テスト容易性
3.28 【アーキテクチャ非機能要件6】再利用性
3.29 7つの設計原理
3.30 【7つの設計原理1】単純原理
3.31 【7つの設計原理2】同型原理
3.32 【7つの設計原理3】対称原理
3.33 【7つの設計原理4】階層原理
3.34 【7つの設計原理5】線形原理
3.35 【7つの設計原理6】明証原理
3.36 【7つの設計原理7】安全原理
3.37 UNIX思想
3.38 【UNIX思想1】モジュール化の原則
3.39 【UNIX思想2】明確性の原則
3.40 【UNIX思想3】組み立て部品の原則
3.41 【UNIX思想4】分離の原則
3.42 【UNIX思想5】単純性の原則
3.43 【UNIX思想6】倹約の原則
3.44 【UNIX思想7】透明性の原則
3.45 【UNIX思想8】安定性の原則
3.46 【UNIX思想9】表現性の原則
3.47 【UNIX思想10】驚き最小の原則
3.48 【UNIX思想11】沈黙の原則
3.49 【UNIX思想12】修復の原則
3.50 【UNIX思想13】経済性の原則
3.51 【UNIX思想14】生成の原則
3.52 【UNIX思想15】最適化の原則
3.53 【UNIX思想16】多様性の原則
3.54 【UNIX思想17】拡張性の原則
3.55 UNIX哲学
3.56 【UNIX哲学1】小は美なり
3.57 【UNIX哲学2】1つ1仕事
3.58 【UNIX哲学3】即行プロトタイプ
3.59 【UNIX哲学4】効率性より移植性
3.60 【UNIX哲学5】データはテキスト
3.61 【UNIX哲学6】レバレッジ・ソフトウェア
3.62 【UNIX哲学7】シェルスクリプト活用
3.63 【UNIX哲学8】対話インタフェース回避
3.64 【UNIX哲学9】フィルタ化
第4章 視点 ~プログラマの観る角度~
4.1 凝集度
4.2 結合度
4.3 直交性
4.4 可逆性
4.5 コードの臭い
4.6 技術的負債
第5章 習慣 ~プログラマのルーティーン~
5.1 プログラマの3大美徳
5.2 ボーイスカウトの規則
5.3 パフォーマンスチューニングの箴言
5.4 エゴレスプログラミング
5.5 1歩ずつ少しずつ
5.6 TMTOWTDI
第6章 手法 ~プログラマの道具箱~
6.1 曳光弾
6.2 契約による設計
6.3 防御的プログラミング
6.4 ドッグフーディング
6.5 ラバーダッキング
6.6 コンテキスト
第7章 法則 ~プログラミングのアンチパターン~
7.1 ブルックスの法則
7.2 コンウェイの法則
7.3 割れた窓の法則
7.4 エントロピーの法則
7.5 80-10-10の法則
7.6 ジョシュアツリーの法則
7.7 セカンドシステム症候群
7.8 車輪の再発明
7.9 ヤクの毛刈り
上記内容は本書刊行時のものです。