オリジナル(捏造)コーディング用語集
銀の流れ弾
「システム開発における数々の問題を、一挙に解決することができます!」という怪しげな触れ込みとともに喧伝されている「最新てくのろじー」やら「画期的そりゅーしょん」なるものを、ろくな検証もせずに導入してしまったことが原因で発生する様々な問題の総称。
流れ弾を被弾することになるのは、導入を決めた本人ではなくディテールの部分を作りこんでいるプログラマになる場合が多い。
「えっ、こんな当たり前のことができないの?」「回避するにはどうすれば・・・・うわぁ、ドキュメント全然ないし・・・・」
わるいプログラマ LV26
LVが26(16進数)もあることから分かる通り、それなりに高い能力を持っているプログラマである。しかしその能力を他人のためではなく、自分の技術的な欲求を満たすために使うため、周囲に迷惑をかけることもしばしばである。
主に見受けられる「わるい行為」として、勝手にライブラリを導入したり、他人が読めないような黒魔術的コードを遊び半分で組み込むなどが挙げられる。
よく似た言葉に「わるいプログラマ LV3」があるが、こちらはLV不足によって気づかぬうちに「わるい行為」をしてしまうプログラマを指す。
スクラップブックコーディング
ググって見つけたサンプルコードを適当に貼り付けて、なんとなく動いているソースを作り出すこと。
それがなぜ動いているのかはしっかり理解していないけど、とりあえず動いているみたいだからいいや。
これを行う時は「ぬーすんだ そーすで しーごとするー」と口ずさみながら行うとちょっとだけ救われた気持ちになる。
ブラックジャックパターン
様々なプログラミング言語を継ぎ接ぎのように組み合わせて動作させる手法。
使っている言語に必要なライブラリがなかったために、その箇所だけ他の言語を使うという場当たり的な対応を繰り返していると出来上がる。
自然としっかりしたモジュール化が行われるため、すべての言語に精通していれば逆に可読性は良くなる場合もある。
ゴージャス・コメント・プログラミング(GCP)
無駄に派手なコメントを多用してコードを作成すること。以下のような。
//☆.:*:・' .:*:・'゜☆' .:*:・'゜☆' .:*:・'゜☆' .:*: // こ こ か ら D B 接 続 //゜☆' .:*:・'゜☆' .:*:・'゜☆' .:*:・'゜☆' .:*:・'゜ con = Connection.open( "localhost", 3306 )
//このクラスは //┏━★┏━☆┏━★┏━☆┏━★┏━☆┏━★ //┃ス┃┃レ┃┃ッ┃┃ド┃┃セ┃┃ー┃┃フ┃ //☆━┛★━┛☆━┛★━┛☆━┛★━┛☆━┛ //です。
見る時の精神状態によって、ちょっと楽しい気持ちになったり、逆にイラッとした気持ちになったりする。
GCPに利用する装飾サンプルは下記を参照して頂きたい。
http://blog.mwsoft.jp/article/32327805.html
リファクタリングスパイラル
1度リファクタリングをしたコードを眺めているうちに、「こういう書き方はどうだろう」とか「実はこっちのパターンを適用した方が綺麗なんじゃないだろうか」とか「この部分は冗長に書いた方が実は後で読みやすいんじゃないだろうか」という気持ちが生まれてあれこれ試すうちに1日が終わってしまうこと。
リファクタリングという行為はどこぞの白い粉(たぶん小麦粉かなにか)よりも強い常習性があると言われている。
そのため、リファクタリング依存症になったプログラマは、進捗に余裕がある限り延々とその行為に耽ってしまうというケースも報告されている。
ニュース&コーディング
1日の大半をだらだらとニュースサイトを見て過ごし、たまに気が向いた時にちょろっと仕事に手を付けるという、集中力に欠けたコーディング手法。
進捗に余裕がある時や、ストレスが溜まっている時などに陥りがち。重症患者は1日の8割以上をニュースサイトを見て過ごしてしまうらしい。
後日、進捗がギリギリになってから「あの時遊んでいなければ」と後悔することになる。そんな過ちを何度繰り返せばプログラマは大人になるのだろう。
アグレッシブエンター打法
他のキーを押す時は普通に打っているのに、エンターキーを押す時にだけやたら甲高い音を立てるタイピング手法。
ハリセンを打つかのように薬指のスナップを効かせてスパンッと打つパターンと、大きく予備動作を取って中指で強く打つパターンがある。
サウンドオブミュージック打法
音楽に合わせてリズムを取るタイピング手法。ウェストサイドストーリー打法やオペラ座の怪人打法などもある。
この打法をマスターしたプログラマは、速いテンポの曲を聞きながらコーディングをすると高速でコードを組み上げることができると言われている。逆にスローテンポの曲を聞かせるとコーディング速度が遅くなり、仕事が捗らなくなる。
白魔術
プログラムの世界には「魔術的」という形容が良く似合うコードがある。
「魔術的」なコードには2種類がある。1つはその言語の正当な機能を活用して書かれた効率の良い記述。もう1つはその言語の仕様の「隙」を突くことで、記述からは予期できない振舞を引き出す記述。
後者(隙を突く方)は「黒魔術」と呼ばれ、のっぴきならない事情(どうしようもないバグ回避等)がない限りは、仕事で書くコードに混入してはいけないとされている。
それに対して前者(正当な方)は「白魔術」と呼ばれ、お行儀が悪いこと(意図せず他のプログラマに影響を及ぼす等)をしないのであれば、使用を咎められることはないとされている。
しかし世の中では、ごく一般的な白魔術のコードでも「良く分からないから、私でも分かる書き方をしてください」として制限されることが、あるとかないとか。
白魔術どころか、最近では「常識的」とされているような書き方に対してすら「うちの会社の(古い)スタイルに合わないから使わないでください」と制限されることも、あるとかないとか。
ハウルの動く城型システム
最初は単一の目的を果たすために作られた、シンプルなシステムだった。
システムは人気を集め、徐々に利用者を増やしていった。
利用者から「こういう使い方をしたい」とか「こんなこともできるようにして欲しい」といった要望が次々に舞い込むようになった。
当初のシステムの目的にはそぐわないような要望もたくさん混じっていた。
でも、その要望を果たさないと、他のシステムに利用者を奪われてしまう恐れがあった。
だから要望に応えて、できる範囲でどんどん機能を追加していった。
気がつくと、当初の目的はコードの底に埋れ、大量の機能が詰め込まれた巨大なシステムがその上に鎮座していた。
ドナドナされる
用例:Sunは財政的に厳しくなったためにOracleにドナドナされた
IT業界は浮き沈みが激しい世界である上にM&Aも盛んなので、けっこう頻繁に荷馬車がゴトゴト子牛を連れて行く。
自社がドナドナされるという噂を耳にしたことがある人もけっこう多いのではないだろうか。
尚、好調な企業が双方の合意で高値で大企業に買い取ってもらうことはドナドナとは呼ばない。悲しそうな瞳で荷馬車に載せられるようなケースを指す。

