「ソースコード」タグアーカイブ

ソースコードコメント – 引継ぎ者への警告


// Dear maintainer:
//
// When I wrote this code, only god and
// I knew how it worked.
// Now, only god knows it!
//
// Once you are done trying to 'optimize' this routine,
// and have realized what a terrible mistake that was,
// please increment the following counter as a warning
// to the next guy:
//
// total_hours_wasted_here = 25


// 引き継いだ人へ:
//
// これを書いたとき、なぜこれが動くのか理解してるのは神と自分だけだった。
// そして今、知っているのは神だけだ!
//
// このコードを「最適化」 しようとし、それがどんなに愚かな間違いだったか
// 気づいたときは、下のカウンタを増やして次の担当者への警告とすること
//
// ここで_無駄にした_時間 = 25

こんなコメントの入ったコードが回ってきたら嫌だなあ。

GitHub に、このtotal_hours_wasted_here が含まれるソースコードが結構あって、書かれてる時間も1から200超までいろいろとあるようです。

via QDB and reddit

Untrusted – JavaScriptをいじって先へ進むRogueライクゲーム

ローグライクゲーム、というジャンルがあります。Rogue(ローグ)を代表とする自動的に生成される迷路・迷宮から脱出するというゲームで、日本で有名なものでも、ネットハック、トルネコの大冒険、チョコボの不思議なダンジョンなど多数あります。

Untrusted は、そのようなローグ風ゲームのバリエーションなのですが、JavaScriptのコードを操作することでパズル的な迷宮を解き、先へ進むというのが最大の特徴です。

untrusted-3

画面左の迷宮で、自分のキャラクター”@”を、階段”□”まで、カーソルキーを使って導かなければいけません。しかし、普通に上下左右に移動しただけでは、出口にたどり着くことはできなくなっています。

そこで、右側のコードに書かれた、迷宮を生成するJavaScriptのコードのうち、書き換えて良いという黒地の部分を変更し、Ctrl+5 で実行するとあら不思議、壁や出口の場所を書き換えてしまうことで、次の階へと進むことができるようになるというわけです。

いかだを使ったり鍵を探したりと、面ごとに違う趣向の障害が配置されています。

その階がどういうトラップなのか、どんな障害が設けられているかというヒントがJavaScriptのコメントとして書かれているので、解く際の参考になるでしょう。

untrusted-2

壁を描画している部分の位置を書き換えるとか、出口の場所を移動するとか、で解ける面もありますが、後の面ではそれらを防ぐようなバリデーション・コードが追加されたりして、同じ手は2度使えないようになっています。

UntrustedのソースコードはオープンソースとしてGitHub上で公開されています。ソースコードを見れば現在のダンジョンが何階あるかはわかってしまうのですが。

# HackerNewsで紹介されたせいで、現在ゲームはちょっと重かったり、正しく動かなかったりすることがあるようです。その場合は、footerにリンクのあるミラーサイトで遊んだり、オープンソースですから自分のところで動かしたりということもできます。

via HackerNews

Googleコード検索の日本語インタフェース

[更新 2018] 2012年にサービス終了しています。

via Google Code Blog

Googleコード検索の日本語インタフェースが出たそうだ。

まあ、プログラマー向けのツールだし、UI部分もほとんどないので、あまりインパクトはないかもしれないけど。新人とかに使わせるためのしきいが下がったかもしれない。

あと、”lang:”で指定できる検索対象の言語も、AppleScript, COBOL, ColdFusion, Haskell, Modula-2, Modula-3, OCaml, R, Rebol, SML, VHDLと増えている。

この記事は移転前の古いURLで公開された時のものです

  • ブックマークが新旧で分散している場合があります。
  • 移転前は現在とは文体が違い「である」調です。(参考)
  • 記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

Googleがソースコード検索Google Code Searchを公開

[更新 2018] 2012年にサービス終了しています。

噂になっていたGoogleのコード検索サービスGoogle Code SearchがGoogle Labsから公開された。

codesearch_logo_sm.gif

例: “Romaji”でソースコード検索

上の検索結果からすると、Camel Notation中の単語も探してくれるみたいだ。
IsProgrammerDifferentFromSE()みたいなネーミングからも単語を切り出してインデックスしているということで、これはありがたいかも。

見つかったコードをクリックすると、キーワードハイライトされたソースコード全文、同じディレクトリ内にある他のコードのリスト、パッケージやコードのGoogleキャッシュ(!)、パッケージのダウンロードリンク、などが表示される詳細画面に移る。

検索では、トップページ下にも説明がいくつか書かれているが、言語、ライセンス、パッケージ形式やファイルの拡張子などを指定しての検索ができるようになっている。また、さすがプログラマー向けというか、正規表現による検索指定ができる。

例: Apache2のC言語ソースから”gzip”で検索

レスポンスも、まだほとんど誰もアクセスしてないからかもしれないけど快適。まあ他のGoogle検索を見ても、ユーザが増えたからといってそんなに遅くなることはないだろうし。

ソースコード検索といえば、Kodersとかcodefetch{が先行しているけど、ソースコードを含めてGoogleは元から膨大な量をクローリングしているわけだし、競合者達はここでもたいへんかもしれない。

[追記]

各ニュースサイトのニュースも揃ってきた

Internet Watch

ロイター → ITMedia

CNET → CNET Japan

internet.com → japan.internet.com

日経IT Pro

[追記]

しつこくregist という英語は無いに”regist”の検索結果を追加した。


[追記][リンク無効化 2018]

Now Japanized!

[更新 2018]

コメント欄指摘、当該サービスが終了していることを追記しました。文中の類似サービスについてもサービス終了やサイト応答無しのためリンクを外しました。

この記事は移転前の古いURLで公開された時のものです

  • ブックマークが新旧で分散している場合があります。
  • 移転前は現在とは文体が違い「である」調です。(参考)
  • 記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません