新しいプログラミング用語あれやこれや
2010-05-12 21:28 /
reddit で上がってきていたリンク先をたどると、StackOverflow のスレッドで、周囲で使われている新規な言い回しを集めているようです。用例もあるので、わかりやすい。
ひとまず「山田くん、座布団一枚あげて。」クラスのものだけご紹介してみます(最初、「3枚」と書いていましたが、それほどでもないものがあるので修正しました。それから、別に民族派みたいなことを言いたいわけではないけれど、やっぱり座布団の枚数は漢数字で書かないと)。最初に読んだのは Joey Devilla のエントリーですが、元ネタは StackOverflow の “New programming jargon you coined?” というスレッドです。なお、単にご紹介するだけでなく、僕なりのコメントも追加しているので、StackOverflow のスレッドの和訳だと誤解してコピペしないでください(原文を読めない連中ならやりかねん<笑)。あと、’Barack Obama’ みたいな政治ネタは、意外につまんないので割愛します。
Yoda conditions
if ( 4 == $limit ) のような書き方。逆に if ( $limit == 4 ) と書くと、タイプミスで = と == を間違えたときに見つけにくいバグとなります( = だと、$limit に 4 を代入しているだけなので、$limit の型さえ合っていれば、この条件節は恒真だからエラーとしてログに残らない)。Yoda conditions で書けば、もし = と == を間違えたときでも「4 という整数に $limit を代入する」という、ありえないことをやっていることになり、当然ながらそこでエラーが起きます。
Smug report
自分はこのシステムについて高度なレベルまで理解していると思い込んでるヤツが書いてくる、たいていは役に立たない解決策や、的外れな技術上の薀蓄をちりばめたバグレポートのこと。’smug’ は、「独善的」とか「自己満足な」くらいの意味です。
Drug report
ヤク中が書いたとしか思えない、まったく理解不能なバグレポートのこと。
Shrug report
「これは動かなかった」しか書いていない、あいまいなバグレポート。再現性を確かめうる具体的な手順やエラーメッセージをぜんぜん書いていないもの。’shrug’ は、ボディーランゲージで手のひらを上にして肩をすくめる動作。古い漫画に出てくる「ガイジン」が、呆気にとられたときなどに「オー!ノー!」とやっていた、アレです。
Refuctoring
‘refactoring’ をもじった言い方。re + ‘fuck’ + toring ということでしょう。途中から開発に加わった人(たいていは上役)のコーディング・スタイルのせいで、コードのメンテナンス性が失われてしまうこと。StackOverflow には具体例として、コメントやスペースを「実行性能を上げるために」全て削除してしまった同僚の話が出ています。
こういう話が出ると、「独学のプログラマやフリーランス出身のプログラマだな」と即断する人も多いのですが、大手の開発会社にも他社と相容れない独自のコーディング・スタイルがプロマネ単位とかアーキテクト単位で根付いてしまっている場合もあります。「企業人だから自己流のように偏っていない筈だ」という保証は、国内だろうと海外だろうと全くないと言えるでしょう。
そもそも「共同作業の経験」とは、会社に入ったというだけの馬鹿が漫然と仕事することを意味するわけではなく、多人数の環境において(全員で、あるいは自分が他の全員を)調整しながらプロジェクトを進めていくことを意味します。そして、自分が何か決めるだけで全員が従うなら、それは共同作業ではなくただの業務命令です。したがって、命令されるだけで(或る意味では)事足りる下っ端や、命令するだけで事足りるアーキテクトや開発部署の役員については、どんな規模の会社で何百年やっていようと「共同作業の経験がある」とは言わないのです。
Heisenbug
量子論のハイゼンベルグにちなむ言葉なのでしょう。「再現してみるのが難しいバグ」のことだと説明されています。同じ項目で、いわゆる「シュレーディンガーの猫」にちなんで ‘Shrödingbug’ というのも紹介されており、こちらは「或る条件では起きないのに、他の(予想しがたいケッタイな)条件では起きるバグ」とされています。物理専攻の方であれば、こうしたアナロジーについてあれこれ言いたいことはあると思いますが。
なお、特に「或る人以外は誰も遭遇したことがないバグ」を ‘bugfoot’ と言うようです(笑)。
Egyptian style
if (a == b) { printf("hello"); }
こういうコーディングですね。僕も数年前までは使っていました。由来を見て「座布団3枚」(笑)。
Hot potato / hot potatoes
‘http’, ‘https’ の別名らしく、たとえば ‘Submit all customer information through the authentication service at hot potatoes markupdancing.net/login’ などと使うようです。この場合は、’https://markupdancing.net/login’ を意味します。まぁテレビやラジオで「えいちてぃーてぃーぴーころん、すらっしゅすらっしゅ、だぶりゅーだぶりゅーだぶりゅー、どっと…」などと言っていますが、もう少し「ああ、あれね」という略称のようなものはできないのでしょうかね。まぁでも、FQDN から ‘www.’ を取るとアクセスできないコーポレートサイトを運用されている企業さんもたくさんありますし、「フィッシング対策として正確な URL を入力してもらえるようにしたい」という言い訳も考えられます。
Reality 101 failure
要求されたことを正確にこなすプログラム(あるいはその機能や特性)が実装された際、そのプログラムで解決しようとしていた問題に誤解があった(あるいはそもそも問題ではなかった)ことがわかり、そのプログラムが基本的に用無しとなってしまうこと。
Joey のエントリーで紹介されている実例は、プログラムではありませんが意味合いをよく伝えています。つまり、「太陽光を集められるほど明るいところにいるなら、なんで懐中電灯を使う必要があるの?」というわけです。
Ninja comments
「ノーコメント」の別名ですか・・・このノリは、そろそろどうにかならんのかな(笑)。
