ハローワールド!プログラマのマツノブです。
今回はプログラミングのうえで役に立つ先人の言葉についてお話しようと思います。
ハインリッヒの法則
ハインリッヒの法則とは1つの重大事故の背後には29の軽微な事故があり、その背景には300の異常が存在するというもの。
プログラムにおいても1つの重大な不具合の背後には29の軽微な不具合があり、その背景には300のビルド警告があるのです。
300件のビルド警告を潰すことが30の不具合を潰すことにつながるのです!
割れ窓理論
みなさんビルド警告を無視していませんか?
割れ窓理論とは軽微な犯罪を徹底的に取り締まることで重大な犯罪を抑止できるという理論です。
ビルド警告を放置することでプロジェクトメンバーはビルド警告に注意を払わなくなり、
ハインリッヒの法則のように大きな不具合につながります。
徹底的にビルド警告を潰すことで大きな不具合を抑止できるのです!
3H
3Hとは人間がミスを起こしやすい状況をまとめた標語です。
- 初めてやる作業
- 久しぶりに行う作業
- 手順や方法が変更された作業
こういった作業はミスに繋がりやすいため十分に気をつけて作業を行う必要があります。
コンコルド効果
設計に問題があるのがわかっているのに「今更設計を見直すのはなぁ…」と思ったことはありませんか?
コンコルド効果とはそれまでに払ったコストを惜しんで余計なコストをかけてしまう心理現象です。
問題が起きることが予測できるのであればそれまでにかかったコストを惜しんでいる場合ではないのです。
なぜなぜ分析
なぜなぜ分析とは問題分析の手法で「なぜ」を繰り返すことで問題の原因に迫る方法です。
例:ゲームのフレームレートが出ない
なぜ:GPUの処理時間が規定の処理時間に収まっていない
なぜ:頂点シェーダの処理時間がかかりすぎている
なぜ:オブジェクトが適切にカリングされていないため無駄に頂点シェーダが稼働している
なぜ:メッシュが分割されておらず適切なカリングができない
なぜ:メッシュの分割に関するルールが決まっていないため非常に大きなメッシュが作られていた
対策:メッシュ分割に関するルールを策定することで適切なカリングが行うことができるようにする。
どうでしたか?
もとはプログラムとは関係のない分野で提唱された理論であってもその思想はプログラミングにも適応することができるのです。
先人の言葉に耳を傾けることでより良いコーディングにつなげていきましょう。
それでは今回はここまで