« [ ニッキ ] IME のユーザ辞書がまた飛んだ | トップページ | [ ニッキ ] 生活サイクル »

2008/01/06

[ ニッキ ] 外部変数使いまくりコード

まさか、変数の8割近くが外部変数というすごいコードを見ることになるとは思いもしなかった。

グローバル変数、クラスグローバル変数使いまくりのすさまじいコード。
変更するオブジェクトが限られているならまだいいのだが、そのような形跡もない。
酷いことに数多のオブジェクトから参照され、また変更されている。

あんなものはプログラミングの一歩を踏み出したころですら書いたことはない。

プログラミングの禁じ手 Web 版 では

どういうわけか無能なプログラマほどグローバル変数を偏愛し,有能な人ほど避けるものです。

とあるが、わたしが思うに「コードは書くがテストもデバッグも全くできない」人 ほどより有効範囲の広い変数をより数多く使用する気がする。「コードが書けて、テストもデバッグもできる」プログラマならばグローバル変数のように有効範囲の広い変数について、いくつかの無視できないデメリットを理解しているのでなるべく使用を避けているように思える。

わたしの場合は大きくは↓の2点ができれば使いたくない理由だ。

  1. テストが複雑になる
  2. バグが見つかったときのデバッグ作業も大変になる

1 は外部変数の数が多いほど、また使用されている場所が多いほど複雑になる。一般的に、作業が複雑になればなるほどミスをする可能性は高くなる。プログラミングでは、バグを見落としたままリリースということにもなりかねない。そんな状況に自らを追い込みたくはない。

2 はバグ追跡が大変なのはもちろん。バグが見つかったとして外部変数を操作するコードに変更を加えた場合、その変数に依存関係がある他の部分も全てテストして動作を確認しなければならない。バグ修正というのはたいていは時間に追われる中で行うわけで、追跡が大変になるだけでも嫌なのに、さらにテストの量も増えてしまうのは勘弁してほしい。

明日もまた腐ったコードを読まなきゃならない。。。
_| ̄|○il|!

|

« [ ニッキ ] IME のユーザ辞書がまた飛んだ | トップページ | [ ニッキ ] 生活サイクル »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/103108/17602002

この記事へのトラックバック一覧です: [ ニッキ ] 外部変数使いまくりコード:

« [ ニッキ ] IME のユーザ辞書がまた飛んだ | トップページ | [ ニッキ ] 生活サイクル »