エンジニアの仕事はコードを書くことですが、いつもいつも仕事で書くコードが「美しい」コードとは限りません。複雑なユースケースを処理するための変なコードが入ったり、リリースに間に合わせるために本質的でないその場しのぎのフィックスを入れたり。
今回はそういうときにつかえる形容詞や名詞をいくつか紹介します。
"crufty" は英辞郎にはのっていませんが、Urban Dictionary でひくと、"Generic derogatory term for something that is hacked together, badly designed, shabby or otherwise substandard. Often used in the description of software user interfaces." とでるように、「どうも美しくない」というニュアンスで使います。コードのコメントなんかに、
# XXX this code is sort of crufty.
とか書くとそれっぽさが伝わります。
kludge は「その場しのぎの解決策」というそのものズバリな名詞で、kuldgey とy をつければ形容詞になります。余談ですが英語ではほとんどの名詞に y をつけると形容詞になって、いろいろ本来とは違う意味になったりするので面白いですが、フィーリングをつかむのが結構むずかしいです。だいたいは悪い意味につかわれることが多い気がしますが。
kludge を Google Code Search で検索 するとどういうときにつかうかがわかります。変数名に kludge = 0 とか使っているのを見ると、ストイックというか自虐的というか、むしろ「こんなコードかきたくないけど、わかってやってるんだ」という意志みたいなものを感じますね。
janky はあまり使われませんが、Six Apart の Vox チーム(とくに CSS, JavaScript 系のフロントエンドエンジニア)の間でよく使われています。基本的には「変な」という意味ですが、"janky hack" とか "janky fix" という風にいうと、「ぐだぐだなハック」みたいな意味になります。
ghetto も janky とほぼ同意ですが、単語自体がちょっと offensive な部類にはいるので、口頭で "this is a ghetto hack" というぐらいにとどめておいたほうがいいかもしれません。この使い方は LiveJournal の Brad Fitzpatrick に教えてもらったんですが、Code Search するとやっぱり彼のコードが最初にでてきました :)
エンジニアというのは,コードを書くITエンジニアだけではないですよね.もともとは,メカニカルな方面から来た用語でしょうし,私もそのメカニカルなエンジニアです.
だからエンジニアとだけ書かれても,誤解を生むので正しく表現してもらえると助かるのです.
現に私のように,タイトルで間違って飛んでくる者もいる訳ですから.
(私はITエンジニアなので)参考になりました。
Posted by: crawl7 on February 21, 2007 04:40 PMだからエンジニアとだけ書かれても,誤解を生むので正しく表現してもらえると助かるのです.
Posted by: 公共ネットワークの知恵 on February 25, 2007 04:25 PM私が勤めてる会社(製造業)では kludge はあんまり聞きませんね。ただ単に聞き取れていないという話もありますが・・・(汗)こんど通じるか試してみます。ちなみに私は Stopgap とか Mickey Mouse solution だとかを使ったりしていますね。
Posted by: davilin on March 2, 2007 10:47 PM