わざと雑に作る

f:id:onody_onody:20150422180500j:plain

日本に暮らしていて、海外旅行に行くたびに、交通インフラの雑さに驚く。
ここ4日間行っていたサンフランシスコも結構雑だった。

バスを例に取ると、、

  • 基本時間通りにこないことがおおい。数分ずれたりは結構普通。
  • チケットは乗るときに見せたりするけど、期限切れていたり、老人用のパスとかを見せても余裕で乗れる。
  • 後方の入り口(運転手がチェックしない)からでも普通に乗れる。

日本だと、チケットを買って、しっかり機械でチェックしてOKにならんと乗れない。

こうなると、ちゃんとお金もらわないでやっていけるのか?とおもうけど、
一応まわっているみたい。

なんでかというと、たまに抜き打ちでバスに警察が乗ってきて
抜き打ちチェックする。
チェックでダメだと、罰金のペナルティーがある。

実際、その抜き打ちを受けているところを見たけど、
1〜5%位の人がひっかかってた。


ここで考えるべきは、
1. 99.9%お金を徴収するために、完全なシステム化するコスト(もしくは定刻発車にするコスト) 2. 95%お金を徴収するために、ざっくりシステム化するコスト(もしくはすこし遅れて発車にするコスト) である。

で、日本だと結構1のパターンで考えて行くことが多い。
2の方がトータルお得な場合でも、1となる場合が多い。

システム化するときも、無条件に1の思考パターンになってしまう人が多い気がする。


複雑な仕様を実現するために、
if,if,if!なプログラムを作っていることがおおい。
結果的に、ifばっかりだと、バグりやすくて結果コスト高になる(循環的複雑度が高い)のに!

コストを考えて雑に作るのは全然ありだとおもう。

つまり、この条件反射的な仕様の考え方は、
自分も結構しみついているので、
トレーニングしていきたいです。