スクラップブックコーディング

ググって見つけたサンプルコードを適当に貼り付けて、なんとなく動いているソースを作り出すこと。

それがなぜ動いているのかはしっかり理解していないけど、とりあえず動いているみたいだからいいや。

これを行う時は「ぬーすんだ そーすで しーごとするー」と口ずさみながら行うとちょっとだけ救われた気持ちになる。

ブラックジャックパターン

様々なプログラミング言語を継ぎ接ぎのように組み合わせて動作させる手法。

使っている言語に必要なライブラリがなかったために、その箇所だけ他の言語を使うといった場当たり的な対応を繰り返していると出来上がる。

自然としっかりしたモジュール化が行われるため、すべての言語に精通していれば逆に可読性は良くなる場合もある。

銀の流れ弾

「システム開発における数々の問題を一挙に解決することができます!」という怪しげな触れ込みとともに喧伝されている「最新てくのろじー」やら「画期的そりゅーしょん」なるものを、ろくな検証もせずに導入してしまったことが原因で発生する様々な問題の総称。

流れ弾を被弾することになるのは導入を決めた本人ではなく、ディテールの部分を作りこんでいるプログラマになる場合が多い。

「えっ、こんな当たり前のことができないの?」「回避するにはどうすれば・・・・うわぁ、ドキュメント全然ないし・・・・」

わるいプログラマ 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も盛んなので、けっこう頻繁に荷馬車がゴトゴト子牛を連れて行く。

実際に自社がドナドナされそうになっているという噂を耳にしたことがある人も、少なからずいるのではないだろうか。

将来性のある企業が高値で大企業に買い取ってもらうことはドナドナとは呼ばない。悲しそうな瞳で荷馬車に載せられるようなケースを指す。

痛コードパターン

ブログ等で公開されるサンプルコードに用いられることがある、デザインパターンの1つ。

例えばそのサンプルコードを動かすには、下記のような形式のサンプルデータを用意する必要があったとする。

鈴木 28歳 男
田中 32歳 女
中村 19歳 男

上記のように一般的なデータで実演しておけば良いものを、あえてアニメのキャラクター名を用いたデータを用意し、実行例として添えておくことで、コードに痛い感を醸し出させる。

綾波レイ                 14歳 女
惣流・アスカ・ラングレー 14歳 女
渚カヲル                 15歳 男

これが痛コードパターンの典型例である。この他にも巷では高度なアルゴリズムや最新のライブラリを使ってアニメデータの解析を試みるなどの、ハイレベルな痛コードパターン利用例が散見される。

この手法を用いることにどんなメリットがあるかは不明である。

しかしこれを用いる人は比較的高い技術力を持っていることが多いため、痛コードパターンにはコーディングスキルを伸ばすなんらかの効能があるのではないかという噂がまことしやかに囁かれている。

朝まで一人プログラミング大会

金曜や土曜の夜にプログラマ宅で毎週のように行われている、非常にポピュラーなプログラミング大会。

世の中にはプログラミングが好きで好きで大好きで、寝る間も惜しんでコーディングに明け暮れてしまう人が少なからず存在する。

普段、彼らは仕事を終えて自宅に帰った後もコードを書いて至福の時間を過ごしているわけだが、夜も更けてくると「明日も仕事あるし、そろそろ寝ないとダメだよな」と渋々途中で作業を切り上げて床に就いている。

そんな彼らが、翌朝起きる必要がない金曜や土曜の夜を迎えるとどうなるか。

「よし、今日は時間を気にせず好きなだけプログラム組めるぞ」「書きたいコードはたくさんある」「今日は朝まで一人プログラミング大会だ」と高いテンションでパソコンに向かうのである。

オライリー武器防具店

IT業界御用達の武器屋。鈍器を中心に販売している。

下の写真は高価な武具が多いと評判のオライリーの中でもトップクラスの高級品、Linuxプログラミングインタフェース。全1604ページという超重量級の武具である。

高級武器 頁数 : 1604ページ
重量 : 約2.4kg
価格 : 7980円

攻撃力 : 98
防御力 : 32

武器としても使えるし(標的は気に入らない上司が選ばれることが多い)、防具としても使える(刃物で攻撃されても防げる)というハイブリッドな一品。胸元に潜ませておけば銃弾も防げるらしい。

筋トレ用として用いられることもある。片手で持って長時間眺めたり、通勤時に鞄に入れて持ち運ぶ手法が一般的。

使用イメージ 参考 : 20年前の古文書に描かれていた、オライリー製武器の使用イメージ

フリーソフトウェア教

世界中のプログラマの約5%が入信していると言われている巨大新興宗教。信徒たちはフリーソフトウェアという唯一神の御名の下、日々オープンで再頒布可能で派生物を作れるソフトウェアの開発布教を行なっている。

教義でソフトウェアはフリーのものを使うべきだとされているため、信徒たちはWindowsやMacよりもLinuxを好んで使い、iPhoneいいなぁと思いながらAndroidを使う(厳密にはAndroidも教団では推奨されていないが)。

教団の教祖は、フリーソフトウェアのみで構成されたパソコンを使い、完璧にフリーなデバイスが存在しないという理由で携帯電話の所持を拒否するなど、非常に厳格に教義を守っていることで知られている。

一般の教徒にはそこまでは厳格に教義を守っている者は少ない。大半は生活や仕事に支障を来さない範囲でフリーなソフトウェアを選択している。こうした緩いスタンスの信徒をPermissiveなフリーソフトウェア教徒と呼ぶ。

教団の中には過激派と呼ばれる人たちも存在する。彼らはフリーではないソフトウェアを日々糾弾し、GPLというウィルスを用いて世界中のソフトウェアをオープンにしてしまおうと企てている。

World Wide Webポケモン創造説

World Wide Webはサー・ティム・バーナーズ=リーではなくポケモンによって創造されたとする学説。

ポケモンが生まれた(企画された)時期とWorld Wide Webが生まれた時期が近いことや、Web関連の古い資料にカイリューというポケモンの名前が頻繁に出現していることなどを根拠としている。