2014年9月18日 (木)お、俺は違うから!
おはようございます。
先週から乱闘しまくっている本日の当番、プログラマーのT.Tです。
今日も今日とてプログラムの書き方意識について話していきます。
if文の条件の書き方ってのは、
各条件について千差万別です。
しかし同じ条件でも書き方によってはとてつもなく見づらくなることが多々出てきます。
例を挙げてみましょう。
①
if (num < 100) { /* 処理 */ }
100未満の時。
② if (!(100 <= num)) { /*
処理 */
}
100以上じゃない時。
どちらも結果は同じですが、
①はすんなり読めるのに対して、
②は眉間にシワが寄ります。
やはり人間は否定されるのが嫌な生き物なので、
プログラム内に「!」を見ると心に深刻なダメージを受けてしまうのです。
上ぐらい簡単なら解決も簡単ですが、
条件が少しずつ追加修正されていくと――
if
(!(lv < 30 && (2 <= party_num ||
satori))
のように悩みに悩む条件式が完成します。
「Lv30以上でパーティが2人以上か悟りを開いている時じゃない時」
とかもう今これを書いてる僕も脳から血を出したいレベルのややこしさ。
こんなものを見つけたら書いた人間を助走をつけて殴りたいですが、
やはり解決策を提示しながら殴りたいところ。
「本当にそんなに複雑な条件が必要なのか…?」
とやさしく語りかけながら殴ります。
仕様を確認し、条件をシェイプアップしてもらうということです。
「もうどっか見えないところへ置いてくれ!」
とぶん投げます。
条件を一つの関数にしてまとめてやるということです。
以下のようになります。
if
(isKonkatsuniHissi())
スッキリ。
| 固定リンク | コメント (0) | トラックバック (0)
「プログラマー」カテゴリの記事
- 技術交流の業(2019.03.07)
- 福袋争奪戦デビュー(2019.01.31)
- 温泉旅行(2019.01.24)
- ゲーセンの近況(2018.11.29)
- 健康的にプログラミングを続けるためのちょっとした習慣(2018.10.18)
この記事へのコメントは終了しました。
コメント