【プリンシプルオブプログラミング】習慣
目次
はじめに
この記事は「プリンシプルオブプログラミング」を読んで自分なりにまとめた学習メモです。
プリンシプル オブ プログラミング3年目までに身につけたい一生役立つ101の原理原則
- 作者: 上田勲
- 出版社/メーカー: 秀和システム
- 発売日: 2016/03/23
- メディア: 単行本
- この商品を含むブログ (11件) を見る
習慣 〜プログラマのルーティーン〜
プログラマの3大美徳
プログラマの3大美徳は、できるプログラマの特性を、3つの「美徳」としてまとめたもの。
- 怠慢:全体の労力を減らすために、手間を惜しまない気質。
- 短気:コンピュータがさぼっている時に、怒りを感じる気質。
- 傲慢:神罰が下るほどの、過剰な自尊心を持つ気質。
怠慢
後で皆が楽できるように、今役立つコードを書いてしまう。
【やるべきこと】
繰り返しの仕事を「仕組み化」する。
手作業については、コードを書いて、ツールを作って、自動化する。
短気
コンピュータが十分効率的に働いていなかったり、意図通りに働いていなかったら、ただちにコードを書き直してしまう。
また、今ある問題に留まらず、今後起こりうる問題を想定したコードを書いておく。
【やるべきこと】
起こりうる問題を「想定して」仕事をする。
先回りして、要望が出てきそうな部分を考え、クレームが出る前に対応できるようにする。
傲慢
高いプライドを持ち、人様に対して恥ずかしくないコードを書く。
自分のコードを誰に見られても恥ずかしくないように書く。
【やるべきこと】
人様に対して恥ずかしくない仕事をして、保守していく。
プロ意識を持って、保守を容易にしておく。
ボーイスカウトの規則
ボーイスカウトには、シンプルな規則がある。
「自分のいた場所は、そこを出て行く時、来た時よりもきれいにしなければならない」という規則。
【意識すべきこと】
コードは改良してからコミットする。
パフォーマンスチューニングの箴言
パフォーマンスチューニングとは、速いコードを書くこと。コードの「最適化」とも言われる。
【最適化のルール】
- 行ってはならない
- (エキスパート専用)まだ行ってはならない
【デメリット】
- 可読性の低下
- 品質の低下
- 複雑性の増大
- 保守の阻害
- 環境間の競合
- 作業量の増大
【やるべきこと】
まず「よいコード」を書き、その後、必要に応じてパフォーマンスチューニングを行う。
エゴレスプログラミング
プログラミングにおいては、エゴを捨て去る。
つまり、「うぬぼれ」や「プライド」を捨て、仲間に協力を求めるようにする。自分の書いたコードを、積極的に仲間に見せて、改善点を指摘してもらう。
- 自分自身も間違いを犯すということを理解し、受け入れる
- 書いたコードは、自分自身ではない
- どれほど極めたと思っていても、上には上がいる
- 相談なしに、コードを書き直さない
- 自分よりもスキルが劣る人にも、尊敬と敬意と忍耐を持って接する
- 世界で唯一変わらないことは、変わるということだけ
- 本当の権威は、地位ではなく、知識から生じる
- 信じるもののために戦う。ただし、負けは潔く受け入れる
- 部屋に籠りきりはいけない
- 「人に優しく、コードに厳しく」して、人ではなくコードを批判する
1歩ずつ少しずつ
プログラミングは、一度に、小さな1つのことを行う。
【意識すべきこと】
一度に複数やらない。
TMTOWTDI
他の人に使用してもらうツールを設計する場合、達成したいことの手段を複数用意する(プログラミング言語やDSLやAPIなど)。
ツール側は複雑になってしまうが、使う側は、多様な場面において、シンプルなコードが書けるようになる。
【意識すべきこと】
選択肢をたくさん用意する。