墜落日記 - 2008年7月7日の墜落
死んで治る馬鹿は大したことない
随分昔に 4,000 行から 5,000 行が BEGIN と END の間に敷き詰められている、無茶苦茶に低脳な PL/SQL で壮絶に腹が立った話を書いたと思うが、また、似たようなヤツと取っ組み合いしている。
今回は前回よりもやや少ない 3,000 行程度だが、なんちゅ~か………
-
やたらとデカイ、主部の BEGIN ~ END。
深く入れ子になった IF ~ THEN ~ ELSIF ~ ENDIF と DML の羅列で異様に追っかけづらい。
しかもインデントが不揃いという爆弾付き。
-
グローバル変数かと思ったら実は実質ローカル変数だった変数群。
もしかしてこいつはローカル変数の存在自体を知らないのでは??
宣言する場所を変えただけでグローバル変数が半分減ったっ!!
-
やるだけ無駄な中途半端なハンガリアン記法。
変数の接頭語には "w_" を付けているにもかかわらず(多分 "work" の "w" だ)、定数にも "w_" が付いていて代入式を探す羽目になる。
見付けてみたらプロシージャの先頭で CONSTANT 宣言されていた。
-
Z読みに近い目視検査だけでぞくぞく見付かる潜在バグ。
こんな物が共通部品として我が物顔で動いているかと思うと寒気がする。
ホントこのコードを書いた本人は、このコードが素晴らしいと自分で思っているのかね?
低脳の証明にしかなっていないこのコードを!?
億単位の大規模プロジェクトに集められる要員のレベルの低さと言ったらホントに想像を絶する物があるが、「何で自分はこんな巫山戯た糞ソースと取っ組み合いしてるんだろうか………?」と本気で悩むことがある。
プログラマの 35 歳定年説がまことしやかに囁かれているが、これは多分、最新技術に追い付けなくなるとかそう言う類の話ではない。
10 年もこんな巫山戯た糞ソースと取っ組み合いしてりゃ、辞めたくもなる。
これはもしかしたら IT 業界の構造的な問題だ(爆)
(ちなみに自分はまだ 35 歳前だし 10 年も続けていない)
さて、そんなこんなで色々とあって悶々としつつ下手すりゃまた暴れ出しそうな精神状態の自分だが………ちょっと面白い本を見付けた。
面白いと言うか、職業的プログラマ連中に是非とも読んでほしい本だ。
-
すべてのプログラマに効く
危険なプログラムの処方箋
(ISBN978-4-7973-3873-7)
職業的プログラマの量産する禁じられたプログラムに関して実例を交えつつ何がダメなのか、なんでダメになったのかを述べている。
後半は C や C++ に特化した禁じられたプログラムも多くなるので若干普遍性が薄れるが、それでも全体的に見て普遍性のある内容が網羅されている。
プロジェクト管理などのマネージメント上の問題ではなく、あくまでも禁じられたプログラムというソースコードレベルの内容を重視しているのも良い。
C や C++ に特化した内容が書かれているにもかかわらず C や C++ を高級言語と認めていない部分もよい。
この作者は C や C++ をアセンブラと同様の低級言語だとちゃんと認識して書いている。
そして何より、これを読むと自分が常日頃からイライラしているダメコードがほぼ網羅されてしまうからよい。
脳味噌が破壊され尽くした2年目、3年目の連中に対して行う再教育プログラムの導入部には、この本の内容は非常に良いかもしれない。
つまり二等兵以前のお笑い三等兵共に「きさまらはクソだ、そびえ立つクソだ」と最初にストレートパンチをお見舞いできるのである(爆)
まだ半分も読み込んでいないが、これは一読をオススメする。
Cですが、冒頭を読んで真っ先に思いついたものが
http://www.pro.or.jp/~fuji/mybooks/cdiag/index.html
でした。
この話題は参加しまくりたいですがとりあえず紹介まで。
初めまして。
私は基本的にC、C++は万難を排してでも避けて通るので、C、C++特有の部分というのは感覚でしか分かりませんが、なかなか職業的プログラマが平気でやりそうな例があって面白いですね。
コメント覧だと簡単に溢れてしまうので、よろしければ掲示板の方にでも来て下さいませ。
http://www.arcadiangarden.com/community/bbs/arcadiabbs.cgi