O’REILLY Learning「Modern Software Engineering: Doing What Works to Build Better Software Faster」12 Information Hiding and Abstraction
https://learning.oreilly.com/library/view/modern-software-engineering/9780137314942/
12 Information Hiding and Abstraction
情報の隠蔽と抽象化とは、「物体やシステムの研究において、より重要な細部に注意を向けるために、物理的、空間的、時間的な細部や属性を取り除くプロセス」と定義
ソフトウェアの専門家として、ソフトウェアを開発するために何が必要かを理解することは、私たちの義務。
自分たちが手がけるコードの品質に対する責任を持つ必要がある。
Accelerate: The Science of Lean Software and DevOps
https://learning.oreilly.com/library/view/accelerate/9781457191435/
翻訳書:LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革を加速する
多くの組織は、コードを変更することを恐れているか、現実を無視してコードに対してある種の敬意を抱いています。
私はその逆を主張します。
もしあなたがコードを変更できない、あるいは変更しようとしないのであれば、コードは事実上死んでいる。
YAGNI(You Ain’t Gonna Need It!)
プレーンテキストという、もうひとつの重要な抽象化のおかげです。
プレーンテキストはプレーンでもなく、テキストでもありません。
これはプロトコルであり、抽象化であり、情報が文字の流れとして表現されるというかなり基本的なレベル以外、情報がどのように構成されているかをあまり気にせずに情報を扱えるようにするものです。
「プレーンテキスト」エコシステムは、コンピューティングに広く浸透している。
SBE(Simple Binary Encoding)
抽象化とは、基本的にモデリングを行うこと。
抽象化、そしてその核となるモデリングは、デザインの基本。
余分な作業をすることなく、実装や設計について考えを変える能力を維持すること。
前の章とこの章は大事!!