読者です 読者をやめる 読者になる 読者になる

どこかのだれかへ

職業ゲームプログラマ。気になったニュースのピックアップや開発日記などを書いています。

開発ネタ:Excelのシートビュー

開発記

時間があったら作りたい。

会社の仕様書はExcelなのだが、たまにシート数がかなり多い場合がある。

既存の機能ではシートのすべてが常に一覧として表示されているわけがないので、
これを一覧できるアドオンがほしい。

データ自体は共有データなので、変更したくない。

ちゃんと探せば既存でありそうなものだが。

Doxygenで出力されるドキュメントを確認

開発記 C++

家でC++のコードを書く時はコメントをDoxygenJavaDocスタイル)で書いている。

ふと普段書いているスタイルでちゃんとドキュメント化されるてるのかが気になったので、確認用にプロジェクトを作ってみた。

GitHub - Tepp91/TryDoxygen

P.S.

なんとなく開発用のTwitterアカウント作った。
@DevTepp

GitHubで見る注目すべきOSSなゲームエンジン

備忘録 ゲーム 開発記

GitHubから「Discover interresting projects on GitHub」というメールが飛んできた。

内容はExploreページ(GitHub内の注目プロジェクトの紹介)へのリンクで、その中に「Game Engine」項目があったので興味がある人は見てみると良い。

Game Engines · GitHub

色々と面白そうなものがあるので、レビュー勉強会みたいのを会社でやると面白いかもなと思った。またはそういうオフ会があってもいいなと感じた。

気付いたら命名に1時間(CategoryかTypeか)

雑記 仕事

今日仕事でデータの命名に1時間かけてしまった。データの名前はあとで変更が出来ないので変数の命名なんかよりも数倍気を使う。

気を使うにしても1時間は使いすぎだろとは思うけれど、
この1時間の大半は「○○Category」か「○○Type」のどちらがよいか、というかそもそもCategoryとTypeってなにか違うかをずっと調べていた。

100件のほどのデータがあり、この中からとある種類によって処理を分ける必要があったので、データに識別用の情報を付加することにした。命名するときは既存のデータなどに合わせて命名することがベターな手法なひとつだが、既存のデータには「○○Category」「○○Type」がありどちらが良いのかが迷ってしまった。

英語のWebサイトなどを見て、色々調べた結果、個人的な理解としては以下のように落ちついた(まだ全然すっきりしていないけど)。

  • Categoryはグループ分けする際の括りで、入れ物という意味合いが強い。1つのデータが複数のCategoryにまたがることはない。

  • Typeは性質・特性であり、Categoryに分ける際の指針の一つとなりえる。Typeが違う場合、内部も大きく異なる可能性有り。1つのデータに複数のTypeが当てはまる場合もある(またはそれを1つのTypeとする)。

これが英語的に正しいかは知らない。分かりにくいのはCategoryはTypeで分けることもあるとうことだ。

英語のサイトに紹介されていた一つのチップスで「Categoryはinを使い、Typeはofを使うと考えるとうまく行く」というのがあり、これが大きなきっかけとなった。

実際の仕事では、結局Categoryを使うことにした。が、どちらかというと自然とこの識別データをCategoryと皆で呼んでいたので、それに合わせた感が強かったりする。

初級プログラマによくある「The XY Problem」とは

プログラミング 雑記

とある掲示板で「The XY Problem」という単語が目についた。
ぐぐってみるとあまり日本語ではヒットしないのだが、考えとしてはよくあるものだ。

The XY Probremは、端的に言えば、問題の本質を見失っている状態だ。

よくあるコピペがその良い例だ。

アメリカのNASAは、宇宙飛行士を最初に宇宙に送り込んだとき、無重力状態ではボールペンが書けないことを発見した。これではボールペンを持って行っても役に立たない。
 
NASAの科学者たちはこの問題に立ち向かうべく、10年の歳月と120億ドルの開発費をかけて研究を重ねた。
 
その結果ついに、無重力でも上下逆にしても水の中でも氷点下でも摂氏300度でも、どんな状況下でもどんな表面にでも書けるボールペンを開発した!!
 
一方ロシアは鉛筆を使った

TreeViewのSelectedItemにデータバインディング出来ない

WPF

掲題の件、どうやらTreeView.SelectedItemPropertyはリードオンリーのようだ。
そしてリードオンリーの依存関係プロパティの場合、データバインディングは出来ないようだ。

MSDNに「読み取り専用の依存関係プロパティ」というトピックがあった。 https://msdn.microsoft.com/ja-jp/library/ms754044(v=vs.110).aspx

参考
c# - Data binding to SelectedItem in a WPF Treeview - Stack Overflow

自分が作っているゲームの事はTwitterにつぶやけない

雑記

意外と開発者たちは自分たちのゲームをエゴサーチしていて、たまに社内チャットとかで気になったつぶやきとかが流れてきたりする。

つまり下手につぶやくとそのツイートを見られる可能性がある。タグを付けなければ引っかかる可能性は低いだろうがゼロではない。アカウント名的に自分の名前とは関係ないものだっったりすれば何の問題も無いかも知れないけど、結構想像できたりするアカウント名だったりするともうばれちゃうかもしれない。

なので、自分のアカウントでは絶対に自分のゲームのつぶやきはしないと決めている。

気にしすぎではあるかもしれないけど、万が一にも自分のアカウントがバレるのは避けたいので、慎重すぎるくらいがいいと思う。