「プリンシプル オブ プログラミング」- エンジニアの手法 - 読書メモ
概要
今回、コードを綺麗に書けるよう、その概念を学ぶためにプリンシプル オブ プログラミングという書籍を読んだ。101個の原則が読みやすくまとめられており、財産になる本だった。この記事では、私自身が大事だと思ったことをメモしていきたいと思う。
プリンシプル オブ プログラミング3年目までに身につけたい一生役立つ101の原理原則
- 作者: 上田勲
- 出版社/メーカー: 秀和システム
- 発売日: 2016/03/23
- メディア: 単行本
- この商品を含むブログ (11件) を見る
目次
防御的プログラミング
- 「かもしれない」プログラミング
- 開発と運用の安全運転
- バリケード戦略
~かもしれないという考え方は大事である。開発中も、運用中もリスクを考えながら行なっていく事で、デバッグの効率が上がったり、二次災害発生の可能性が減る
ドッグフーディング
- ソフトウェアの味見
- ユーザー視点を手に入れる
- 自分でユーザーのように使う
1人のユーザーとして、システムを使ってみることで、全く必要ない機能や、ほしい機能、使い勝手の良くない機能に気づくことが出来る。本来の機能に気づくことでソフトウェアを向上させる事が出来る。
ラバーダッキング
- 説明するというデバッグ
- 自己解決を促す
- 無機物に説明
他人に分からない部分を説明するということが、かえって問題解決につながる可能性があるということ。他人に説明するには、ある程度の理解が必要になり順を追って理解、説明しているうちに問題解決の糸口が見えてくる。
コンテキスト
- 文脈会話・文脈思考
- 会話や思考を迷子にしない
- コンテキストを示す
コンテキストとは、周囲の状況や、背景の事。プログラミング時、コンテキストの概念を、コードの読み書きと思考のツールの2つの側面から利用する。具体的にには、モジュールなどの大きな括りの名前は、何を示しているのか、明確にする。また、物事とは周囲の状況と繋がっていたり、背景があったりする。これらをコンテキストとして考慮すると正確に問題を解く事が出来るようなる。
契約による設計
- 「呼び出し側」と「呼び出される側」の取り決め
- 思い違いの早期発見
- コメントとアサーションで契約