1. トップ
  2. 新着ニュース
  3. IT

綺麗なコード、汚いコード

ガジェット通信 / 2013年1月18日 20時0分

綺麗なコード、汚いコード

今回はメカAGさんのブログからご寄稿いただきました。

■綺麗なコード、汚いコード

「CES三日目 enchantMOONの秘密 そして驚きの展開に」 2013年01月11日 『UEI shi3zの日記』

http://d.hatena.ne.jp/shi3z/20130111/1357915582

デバイスドライバーレベルでアプリケーションに近いコードが走っている。デバイスドライバーが完全にenchantMOONのUI、MOON Phaseのためだけに作り込まれている。VRAMが書き変わるのはペンの周囲わずか9ドットのみ。データは全てベクトルで保持し、非同期にアプリへ通達されるがそれよりも速く画面が描きかわる。

なんかこういうのワクワクするな。8bitパソコンのプログラミングとかって、こういう工夫(Hack)の塊だったんだよな。あの頃はむしろ「こういうアルゴリズムを思いついた」→「それを活かすゲームを考えよう」って順序だったような。

美しくモジュール化する設計も大事。しかしここぞというケースでは、思いっきり泥臭いテクニックを使うのも重要。俺は綺麗な設計も好きだが、ハードウェアの性能を限界まで使い尽くすようなコードも好きだ(というかこっちは大好きだw)。

Windowsだってもともとは「Windowsでリアルタイムゲームはできない」というのがセオリーだったのを、その常識をWinG(いまのDirectX)でひっくり返したから、今日の繁栄があるわけだし。

   *   *   *

むかし俺が書いたコードで、性能はいいのだけどメンテしにくいというものがあった。そんなことはわかってるんだが、そのハードで必要なパフォーマンスを出すには、そういうコードを書くしかなかった。だから文句を言われても弁解すらせずに無視していたw

で、そのうちゼロから設計し直そうというプロジェクトが俺の知らないところで始まった。一応俺にも声がかかったのだが、丁重にお断りしたし、むこうも断られるのは織り込み済みの様子だった。

で、2年ぐらいかけて開発したようだが、速度もコードのサイズもまったく実用に耐えないものしか出来上がらなかった。一応完成したが誰も使う人はいなかった。

 あ た り ま え な ん だ よ !

必要だからぐちゃぐちゃのアクロバティックなコードを書いたのであって、必要もないのにあんなコード、誰が好き好んで書くか!(本当は好きなのはナイショだw)

   *   *   *

ちょっと心が傷んだのは、そのプロジェクトの中心人物が傷心のうちに辞めてしまったこと。彼のせいではない。彼は入社まもない右も左も分からないうちに「このコードをきれいに作りなおしてくれ」と言われて、素直にそれをやっただけだ。

いま思えば彼と一緒に戦うなり、彼に協力するなり、すればよかった。あの時は(俺も若かったし)「俺様が全力で書いたコードを作りなおす?!」「できるものなら、やってもらおーじゃん!」という気持ちが先にたって、そんなこと考える余裕がなかった… orz

●追記

考えてみたらタイトルがちょっとアレだな。enchantMOONが汚いコードだって話じゃないので、念のため。むかし自分が書いたコードを思い出したという話。

執筆: この記事はメカAGさんのブログからご寄稿いただきました。



【関連ニュース】

この記事に関連するニュース

トピックスRSS

ランキング

記事ミッション中・・・

10秒滞在

記事にリアクションする

記事ミッション中・・・

10秒滞在

記事にリアクションする

デイリー: 参加する
ウィークリー: 参加する
マンスリー: 参加する
10秒滞在

記事にリアクションする

次の記事を探す

エラーが発生しました

ページを再読み込みして
ください