<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>いちばんやさしいゲームの作り方 &#187; 変数</title>
	<atom:link href="http://www.game-create.com/archives/tag/%e5%a4%89%e6%95%b0/feed" rel="self" type="application/rss+xml" />
	<link>http://www.game-create.com</link>
	<description>文系の人でも、数理学がわからない人でもゲームプログラミングをマスターできるブログ</description>
	<lastBuildDate>Tue, 08 Jun 2010 01:28:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>疲れました。ひたすら疲れました。</title>
		<link>http://www.game-create.com/archives/3234</link>
		<comments>http://www.game-create.com/archives/3234#comments</comments>
		<pubDate>Wed, 28 Apr 2010 14:34:14 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[日記]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[命名規則]]></category>
		<category><![CDATA[変数]]></category>
		<category><![CDATA[月月火水木金金]]></category>
		<category><![CDATA[英語]]></category>
		<category><![CDATA[関数]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=3234</guid>
		<description><![CDATA[明日は今日よりいい日になればいいなと何度夢見て眠ったことか…

Subversion のログに日本語を使うことはできないと勝手に暗示をかけて書けない英語でログを記録しています（別に使えますよ、日本語）。なんか、こうでもし [...]]]></description>
			<content:encoded><![CDATA[<p>明日は今日よりいい日になればいいなと何度夢見て眠ったことか…</p>
<p><span id="more-3234"></span></p>
<p>Subversion のログに日本語を使うことはできないと勝手に暗示をかけて書けない英語でログを記録しています（別に使えますよ、日本語）。なんか、こうでもしないと英語など勉強する気にならないと思いまして…</p>
<p>実は、コメントの量をちょっとでも減らそうかなと思い始めており、第一歩目としてわかりやすい関数名や変数名をつけられるよう気をつけています。もちろん、必要なコメントまで減らすのはダメで、どうがんばっても目的が読めないコードにはコメントが必要と思っております。</p>
<p>if が後置できる Perl が懐かしい…</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/3234/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>かゆいところに手が届くファイル同期ソフト</title>
		<link>http://www.game-create.com/archives/3211</link>
		<comments>http://www.game-create.com/archives/3211#comments</comments>
		<pubDate>Fri, 23 Apr 2010 14:55:12 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[コンピュータ]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows XP]]></category>
		<category><![CDATA[ディレクトリ]]></category>
		<category><![CDATA[ファイル]]></category>
		<category><![CDATA[ファイル同期]]></category>
		<category><![CDATA[変数]]></category>
		<category><![CDATA[月月火水木金金]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=3211</guid>
		<description><![CDATA[先日見つけたのですが、一気に一軍ソフトになりました。普段どれだけ効率悪いことをしているのかという…
Toucan &#124; PortableApps.com &#8211; Portable software for USB  [...]]]></description>
			<content:encoded><![CDATA[<p>先日見つけたのですが、一気に一軍ソフトになりました。普段どれだけ効率悪いことをしているのかという…</p>
<p><a href="http://portableapps.com/apps/utilities/toucan" class="external">Toucan | PortableApps.com &#8211; Portable software for USB drives</a></p>
<p><span id="more-3211"></span></p>
<p>単純なコピーやミラーリング、差分コピー、同期する際に除外するファイルやディレクトリの指定など、同期ソフトの要件は当然満たしつつ、変数展開機能によって環境の差を吸収できるのが嬉しいポイントです。</p>
<p>例えば Windows XP と Windows 7 ではホームディレクトリが異なりますが、 @Home@ という変数に Windows XP の時と Windows 7 の時とで別のディレクトリを割り当てることができるので、同じ設定を異なるマシンで共有することが可能です（※ちょっと嘘で、ホスト名によって変数に別の値を割り当てることができるという感じです）。</p>
<p>今まで使っていたソフトは環境ごとに同期設定を増やさないといけなかったので手間が減って楽になりました。 Other というホスト名を書くと、該当するホスト名に対する変数値がなかった場合のデフォルト値を設定できるのも便利です。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/3211/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>命名規則、楽してはいけないのかもしれん…</title>
		<link>http://www.game-create.com/archives/2462</link>
		<comments>http://www.game-create.com/archives/2462#comments</comments>
		<pubDate>Mon, 16 Nov 2009 14:04:47 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[オリジナルゲーム制作]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[クラス]]></category>
		<category><![CDATA[シンボル]]></category>
		<category><![CDATA[まどか]]></category>
		<category><![CDATA[命名規則]]></category>
		<category><![CDATA[変数]]></category>
		<category><![CDATA[関数]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=2462</guid>
		<description><![CDATA[まどかの同人作品ですが、小型パソコンを持ち歩くことができるようになったおかげか、やっとこさ具体的な名前を決める段階までやってまいりました。
良い機会なので、命名に関してこの際、考えを改めることにしました。

今まで、命名 [...]]]></description>
			<content:encoded><![CDATA[<p>まどかの同人作品ですが、小型パソコンを持ち歩くことができるようになったおかげか、やっとこさ具体的な名前を決める段階までやってまいりました。</p>
<p>良い機会なので、命名に関してこの際、考えを改めることにしました。</p>
<p><span id="more-2462"></span></p>
<p>今まで、命名規則は出来合いのものを使っておりました。「これはどうやるんだっけ？」と忘れてしまっても参照できる情報源が豊富にありますゆえ。しかし、自分の作業スタイルに合ったものを考えた方がよかろうと思い至り、１から考えております（別にオリジナリティを出そうとかはないです）。</p>
<p>一番のポイントは「シンボルを条件に grep した際、目的の行を見つけることができるか？」です。 Eclipse のような IDE の機能をフルに活用すれば「この名前のメソッドを抽出したいんだけど、余分な行まで引っかかってしまう」などという情けない事態にはならないような気もしますが、今現在、自分はそれができません。なんとか命名規則で、「そのシンボルは何か？」が判断しやすくなれば助かります。</p>
<p>C/C++ はクラス内で自分のメソッドなどを書く際に this を省略できますので、メソッドなのか関数なのか判断が付きにくいことがあります。こういうときに methodName() と FunctionName() などとして別のルールで名前つければ grep で抽出しやすくなります。一時の気の迷いから MethodName() という紛らわしい関数を作ってしまった場合でも、 Upper Camel Case + () は関数名にしか使わないと決めておけば除外できます。</p>
<p>でも、いい加減 IDE で開発すれば良いのに。リファクタリング機能とかとんでもなく便利らしいです。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/2462/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ソフトウェア開発に幸せな未来はあるのか: 第15話　コーディング規約は必要か？</title>
		<link>http://www.game-create.com/archives/2324</link>
		<comments>http://www.game-create.com/archives/2324#comments</comments>
		<pubDate>Tue, 13 Oct 2009 16:00:22 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ウェブログ]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[コーディング]]></category>
		<category><![CDATA[変数]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=2324</guid>
		<description><![CDATA[コメント欄の「アプリケーションハンガリアン」に反応しました。
ソフトウェア開発に幸せな未来はあるのか: 第15話　コーディング規約は必要か？

我々が嫌悪するハンガリアン記法というのはシステムハンガリアンというくくりなん [...]]]></description>
			<content:encoded><![CDATA[<p>コメント欄の「<a href="http://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%B3%E3%82%AC%E3%83%AA%E3%82%A2%E3%83%B3%E8%A8%98%E6%B3%95#.E3.82.A2.E3.83.97.E3.83.AA.E3.82.B1.E3.83.BC.E3.82.B7.E3.83.A7.E3.83.B3.E3.83.8F.E3.83.B3.E3.82.AC.E3.83.AA.E3.82.A2.E3.83.B3" class="external">アプリケーションハンガリアン</a>」に反応しました。</p>
<p><a href="http://el.jibun.atmarkit.co.jp/happy/2009/10/15-176d.html" class="external">ソフトウェア開発に幸せな未来はあるのか: 第15話　コーディング規約は必要か？</a></p>
<p><span id="more-2324"></span></p>
<p>我々が嫌悪するハンガリアン記法というのはシステムハンガリアンというくくりなんですね。どっちかというと亜種らしいです。</p>
<p>仕事で他人の書いたプログラムを読むとき、配列（と思われる）変数へアクセスしないといけないことがあるかと思います。この時、連番になってる配列なのか、そうでないのか、隙間があるのか、ないのかとか考えないといけないことがたくさんありすぎて、「変数名でわかるようにしてほしいなぁ」なんて思うことがあるのですが、これは何ハンガリアンで解決するのでしょうか…</p>
<div class="hl-surround" ><div class="hl-main"><pre><span class="hl-inlinetags">&lt;?php
</span><span class="hl-comment">// 他人が書いたコード
</span><span class="hl-var">$someArray</span><span class="hl-code"> = </span><span class="hl-identifier">SomeDataListUpFunction</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-comment">// ↑見るからに配列っぽい

//// 以下、俺が追加したコード ////

// 連番を振って出力する
</span><span class="hl-reserved">var </span><span class="hl-var">$i</span><span class="hl-code"> = </span><span class="hl-number">1</span><span class="hl-code">; </span><span class="hl-comment">// 連番になってないかもしれないので添え字は使わない
</span><span class="hl-reserved">foreach </span><span class="hl-brackets">(</span><span class="hl-var">$someArray </span><span class="hl-reserved">as </span><span class="hl-var">$someElement</span><span class="hl-brackets">) {
  </span><span class="hl-identifier">printf</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">%d %s</span><span class="hl-special">\n</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-var">$i</span><span class="hl-code">++, </span><span class="hl-var">$someElement</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-inlinetags">?&gt;</span></pre></div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/2324/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>速攻でゲームプログラミングをやめた学友</title>
		<link>http://www.game-create.com/archives/2148</link>
		<comments>http://www.game-create.com/archives/2148#comments</comments>
		<pubDate>Fri, 04 Sep 2009 09:55:10 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[初心者]]></category>
		<category><![CDATA[勉強]]></category>
		<category><![CDATA[変数]]></category>
		<category><![CDATA[書籍]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=2148</guid>
		<description><![CDATA[ゲーム全盛期（なにそれ）を生きた Byerkut さん。そんな時代だったためか、ゲームクリエイターを志した学友は一人や二人ではありませんでした（三人です）。一時はプログラミングを勉強して自分だけのゲームを作ろうと画策して [...]]]></description>
			<content:encoded><![CDATA[<p>ゲーム全盛期（なにそれ）を生きた Byerkut さん。そんな時代だったためか、ゲームクリエイターを志した学友は一人や二人ではありませんでした（三人です）。一時はプログラミングを勉強して自分だけのゲームを作ろうと画策してみたようですが、速攻でやめてしましました。</p>
<p><span id="more-2148"></span></p>
<p>どうもプログラミング入門書に書いてあることが実際のゲームにどうつながるのか見えず、勉強を続けるモチベーションを失ってしまったようです。</p>
<p>たとえば…</p>
<div class="hl-surround" style="height:16.8px;"><div class="hl-main"><pre><span class="hl-types">int </span><span class="hl-identifier">value</span><span class="hl-default"> = </span><span class="hl-number">100</span><span class="hl-default">;</span></pre></div></div>
<p>…というコードが、ゲームにどうつながるのかとても不安になったとのこと。んー、無理もないかもしれません。そもそも、プログラミング入門書を読んだくらいではゲームを作れるようにならないのですが、そういうのを知る手立てがなかったというのがかわいそうかもしれません。</p>
<p>実際、変数で実現することってたくさんあるのですが、こういう情報を発信するのも大切かなぁ、なんて思いました。</p>
<div class="hl-surround" ><div class="hl-main"><pre><span class="hl-identifier">edge</span><span class="hl-default">.</span><span class="hl-identifier">hp</span><span class="hl-default">     = </span><span class="hl-identifier">edge</span><span class="hl-default">.</span><span class="hl-identifier">hp</span><span class="hl-default"> + </span><span class="hl-number">1000</span><span class="hl-default">;  </span><span class="hl-comment">// ブルーベリーでエッジの HP が 1000 回復
</span><span class="hl-identifier">edge</span><span class="hl-default">.</span><span class="hl-identifier">exp</span><span class="hl-default">    = </span><span class="hl-identifier">edge</span><span class="hl-default">.</span><span class="hl-identifier">exp</span><span class="hl-default"> + </span><span class="hl-number">100</span><span class="hl-default">;  </span><span class="hl-comment">// 敵を倒してエッジの 100 の経験値を得た
</span><span class="hl-identifier">party</span><span class="hl-default">.</span><span class="hl-identifier">fol</span><span class="hl-default">   = </span><span class="hl-identifier">party</span><span class="hl-default">.</span><span class="hl-identifier">fol</span><span class="hl-default"> + </span><span class="hl-number">500</span><span class="hl-default">; </span><span class="hl-comment">// 敵を倒してパーティーが 500 フォルを得た
</span><span class="hl-identifier">edge</span><span class="hl-default">.</span><span class="hl-identifier">level</span><span class="hl-default">  = </span><span class="hl-identifier">edge</span><span class="hl-default">.</span><span class="hl-identifier">level</span><span class="hl-default"> + </span><span class="hl-number">1</span><span class="hl-default">;  </span><span class="hl-comment">// エッジがレベルアップした
</span><span class="hl-identifier">edge</span><span class="hl-default">.</span><span class="hl-identifier">status</span><span class="hl-default"> = </span><span class="hl-identifier">FOG</span><span class="hl-default">;             </span><span class="hl-comment">// エッジがフォグ状態になった
</span><span class="hl-identifier">edge</span><span class="hl-default">.</span><span class="hl-identifier">status</span><span class="hl-default"> = </span><span class="hl-identifier">MAGIC_WAPON</span><span class="hl-default">;     </span><span class="hl-comment">// エッジがマジックウェポン状態になった
</span><span class="hl-identifier">edge</span><span class="hl-default">.</span><span class="hl-identifier">rage</span><span class="hl-default">   = </span><span class="hl-reserved">true</span><span class="hl-default">;            </span><span class="hl-comment">// レイミが倒されてエッジが怒り状態になった
</span><span class="hl-identifier">edge</span><span class="hl-default">.</span><span class="hl-identifier">atk</span><span class="hl-default">    = </span><span class="hl-identifier">edge</span><span class="hl-default">.</span><span class="hl-identifier">atk</span><span class="hl-default"> * </span><span class="hl-number">1.1</span><span class="hl-default">;  </span><span class="hl-comment">// エッジの ATK が 10% アップした</span></pre></div></div>
<p>これ、マカロニさんとミーティングしていて思い出したのですが、今、まとめている記事に反映しておこうと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/2148/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>警告「引数は関数の本体部で 1 度も参照されません。」を消すための措置</title>
		<link>http://www.game-create.com/archives/1927</link>
		<comments>http://www.game-create.com/archives/1927#comments</comments>
		<pubDate>Wed, 08 Jul 2009 13:53:01 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[TIPS]]></category>
		<category><![CDATA[VC++ 2008 EE]]></category>
		<category><![CDATA[コンパイラ]]></category>
		<category><![CDATA[変数]]></category>
		<category><![CDATA[警告]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1927</guid>
		<description><![CDATA[Visual C++ 標準のコンパイラ cl.exe で警告レベルを /W4 にしてコンパイルすると、一度も使われていない変数に対して警告が発せられますが、 argc や argv など、場合によっては使わない可能性があ [...]]]></description>
			<content:encoded><![CDATA[<p>Visual C++ 標準のコンパイラ cl.exe で警告レベルを /W4 にしてコンパイルすると、一度も使われていない変数に対して警告が発せられますが、 argc や argv など、場合によっては使わない可能性がある変数を警告から守る（？）方法を WEB で見つけました。</p>
<p><span id="more-1927"></span></p>
<p>方法は簡単、使わない変数を void でキャストするだけです。</p>
<div class="hl-surround" ><div class="hl-main"><pre><span class="hl-types">int </span><span class="hl-identifier">main</span><span class="hl-brackets">(</span><span class="hl-types">int </span><span class="hl-identifier">argc</span><span class="hl-code">, </span><span class="hl-types">char</span><span class="hl-code"> *</span><span class="hl-identifier">argv</span><span class="hl-brackets">[])
{
  </span><span class="hl-reserved">static_cast</span><span class="hl-code">&lt;</span><span class="hl-types">void</span><span class="hl-code">&gt;</span><span class="hl-brackets">(</span><span class="hl-identifier">argc</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">// ←ここと…
  </span><span class="hl-reserved">static_cast</span><span class="hl-code">&lt;</span><span class="hl-types">void</span><span class="hl-code">&gt;</span><span class="hl-brackets">(</span><span class="hl-identifier">argv</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">// ←ここ

  </span><span class="hl-reserved">return </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-brackets">}</span></pre></div></div>
<p>ただ、基本的に警告に対しては真摯に向き合った方が良いと思います。変数を自分で用意しておいて使わないというのは、何か間違えているような気がします（ましてや１度も使ってないというのは凡ミスですよね）。</p>
<p>何かの情報を WEB で検索しているときに見つけたのですが、これ、どこかの書籍でも書いてあったかもしれません。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1927/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>初期化と代入は違うというお話し</title>
		<link>http://www.game-create.com/archives/1780</link>
		<comments>http://www.game-create.com/archives/1780#comments</comments>
		<pubDate>Wed, 03 Jun 2009 15:48:57 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[クラス]]></category>
		<category><![CDATA[メンバ]]></category>
		<category><![CDATA[代入]]></category>
		<category><![CDATA[初期化]]></category>
		<category><![CDATA[変数]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1780</guid>
		<description><![CDATA[初期化と代入は違うとよく聞きますが、クラスだと違いがよくわかります。たとえば次のクラスをコンパイルするとエラーになります。
class SomeClass
{
private:
  const int value; [...]]]></description>
			<content:encoded><![CDATA[<p>初期化と代入は違うとよく聞きますが、クラスだと違いがよくわかります。たとえば次のクラスをコンパイルするとエラーになります。</p>
<div class="hl-surround" ><div class="hl-main"><pre><span class="hl-types">class </span><span class="hl-identifier">SomeClass
</span><span class="hl-brackets">{
</span><span class="hl-reserved">private</span><span class="hl-code">:
  </span><span class="hl-types">const int </span><span class="hl-identifier">value</span><span class="hl-code">;
</span><span class="hl-reserved">public</span><span class="hl-code">:
  </span><span class="hl-identifier">SomeClass</span><span class="hl-brackets">(</span><span class="hl-types">int </span><span class="hl-identifier">value</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-default">;

</span><span class="hl-identifier">SomeClass</span><span class="hl-default">::</span><span class="hl-identifier">SomeClass</span><span class="hl-brackets">(</span><span class="hl-types">int </span><span class="hl-identifier">value</span><span class="hl-brackets">)
{
  </span><span class="hl-reserved">this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">value</span><span class="hl-code"> = </span><span class="hl-identifier">value</span><span class="hl-code">; </span><span class="hl-comment">// ←注目
</span><span class="hl-brackets">}</span></pre></div></div>
<p><span id="more-1780"></span></p>
<p>なぜかというと、メンバ変数の value が const となっており、コンストラクタでそれを初期化せずに代入しようとしているからです（ const がつくと定数になるので初期化はできても代入はできません）。</p>
<p>コンストラクタでメンバ変数を初期化するためには次のように書きます。</p>
<div class="hl-surround" ><div class="hl-main"><pre><span class="hl-identifier">SomeClass</span><span class="hl-default">::</span><span class="hl-identifier">SomeClass</span><span class="hl-brackets">(</span><span class="hl-types">int </span><span class="hl-identifier">value</span><span class="hl-brackets">)</span><span class="hl-default"> : </span><span class="hl-identifier">value</span><span class="hl-brackets">(</span><span class="hl-identifier">value</span><span class="hl-brackets">)
{
}</span></pre></div></div>
<p>面白いですね。</p>
<p>なんでこんなことを書いているのかというと、「リードオンリーのメンバ変数を作りたいけどどうしたらいいのか」という初歩的なことで悩んでしまったので、自分を戒める意味で記録しておこうと思いました次第です。</p>
<p>ゲームは着々と設計が進んでおります。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1780/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ActionScript を使う場合はメンバ変数を m_ とかで修飾するポリシーが良いかもしれません</title>
		<link>http://www.game-create.com/archives/1527</link>
		<comments>http://www.game-create.com/archives/1527#comments</comments>
		<pubDate>Mon, 20 Apr 2009 11:53:45 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[オーサリングツール]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[クラス]]></category>
		<category><![CDATA[メンバ]]></category>
		<category><![CDATA[変数]]></category>
		<category><![CDATA[関数]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1527</guid>
		<description><![CDATA[…というのも、以下のコードがエラーになるのです。
public class SomeClass
{
  private var member:String;
  // ↓オーバーロードできねぇ！
  public [...]]]></description>
			<content:encoded><![CDATA[<p>…というのも、以下のコードがエラーになるのです。</p>
<div class="hl-surround" ><div class="hl-main"><pre><span class="hl-reserved">public class </span><span class="hl-identifier">SomeClass
</span><span class="hl-brackets">{
  </span><span class="hl-reserved">private </span><span class="hl-identifier">var member</span><span class="hl-code">:</span><span class="hl-identifier">String</span><span class="hl-code">;
  </span><span class="hl-comment">// ↓オーバーロードできねぇ！
  </span><span class="hl-reserved">public </span><span class="hl-identifier">function set member</span><span class="hl-brackets">(</span><span class="hl-identifier">member</span><span class="hl-code">:</span><span class="hl-identifier">String</span><span class="hl-brackets">)</span><span class="hl-code">:</span><span class="hl-types">void
  </span><span class="hl-brackets">{
    </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">member</span><span class="hl-code"> = </span><span class="hl-identifier">member</span><span class="hl-code">;
  </span><span class="hl-brackets">}
  </span><span class="hl-comment">// ↓こっちも！
  </span><span class="hl-reserved">public </span><span class="hl-identifier">function get member</span><span class="hl-brackets">()</span><span class="hl-code">:</span><span class="hl-identifier">String
  </span><span class="hl-brackets">{
    </span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">member</span><span class="hl-code">;
  </span><span class="hl-brackets">}
}</span></pre></div></div>
<p>ECMA の新しい仕様は全く把握しておりません。 getter, setter といっても関数の延長なんでしょうか。</p>
<p><span id="more-1527"></span></p>
<p>普段は、「 this をつければメンバかパラメータか区別できるでしょう」という考えの下、メンバ変数にプリフィクスやサフィックスをつけないのですが、広く使われているパターンですし、私も m_ とかつけるポリシーに移行しようか検討しています。</p>
<p>まだ、本格的なゲームのコードを書いていないだけに迷います。今なら何とでもできますが、考えすぎても時間がもったいありません。</p>
<p>でも、 C# ならもっとうまくいけたような気がします。 getter, setter に名前が要らなかったような気が…（メンバ変数名が採用されるとか）</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1527/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ハンガリー記法っぽい変数名が嫌な人は一度はぶち当たるのでは無かろうか？という壁</title>
		<link>http://www.game-create.com/archives/1331</link>
		<comments>http://www.game-create.com/archives/1331#comments</comments>
		<pubDate>Tue, 17 Feb 2009 13:58:22 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[命名規則]]></category>
		<category><![CDATA[変数]]></category>
		<category><![CDATA[配列]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1331</guid>
		<description><![CDATA[よく、配列の変数名を userArray というように、名前に Array と入れて「これは配列だ」と強調する命名を見るのですが、私はこれがあまり得意ではなく、よく英単語の複数形にしてごまかしています。たとえば先のような [...]]]></description>
			<content:encoded><![CDATA[<p>よく、配列の変数名を userArray というように、名前に Array と入れて「これは配列だ」と強調する命名を見るのですが、私はこれがあまり得意ではなく、よく英単語の複数形にしてごまかしています。たとえば先のような user に対する配列だったら users みたいな。</p>
<p>ただ、英語にあまり詳しくないと途中で壁にぶち当たります。</p>
<p><span id="more-1331"></span></p>
<p>たとえば data に対する配列を作ろうと考えたとき、複数形は何になるでしょうか？ datas ？そんなの聞いたことありますか？実は、あろうはずがないんです。 data はすでに複数形ですので、複数形の複数形を考えていることになります。ちなみに単数形は datum らしいのですが、私はこれに気づくのが遅くて変数名のリファクタリングを迫られることになりました。</p>
<p>「なるほど、こういう風に複数形でも単数形のコンテクストで違和感なく振る舞える単語もあるんだな」と勉強して、「もう次はひっかからないぜ」とタカをくくっていたらもうひとつ見つけました。</p>
<p>media です。 media は複数形ですので medias は間違いです。単数形は medium です。これもリファクタリングしました。</p>
<p>ちょっと Array 派の考えに屈しそうになった冬の日です。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1331/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>メンバ名に気を遣わなくても意外とコンパイルが通る件</title>
		<link>http://www.game-create.com/archives/1311</link>
		<comments>http://www.game-create.com/archives/1311#comments</comments>
		<pubDate>Tue, 10 Feb 2009 15:41:55 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[クラス]]></category>
		<category><![CDATA[メンバ]]></category>
		<category><![CDATA[変数]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1311</guid>
		<description><![CDATA[クラスのメンバ変数を mMember や member_ のように命名することがあります。これには可読性を向上させる目的の他に、「きっとこうしないと初期化するときコンパイルが通らないんだろうなぁ」という心配があったのです [...]]]></description>
			<content:encoded><![CDATA[<p>クラスのメンバ変数を mMember や member_ のように命名することがあります。これには可読性を向上させる目的の他に、「きっとこうしないと初期化するときコンパイルが通らないんだろうなぁ」という心配があったのですが…</p>
<p><span id="more-1311"></span></p>
<div class="hl-surround" style="height:280px;"><div class="hl-main"><pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-prepro">

</span><span class="hl-types">class </span><span class="hl-identifier">aClass
</span><span class="hl-brackets">{
</span><span class="hl-reserved">private</span><span class="hl-code">:
  </span><span class="hl-types">int </span><span class="hl-identifier">member</span><span class="hl-code">;
</span><span class="hl-reserved">public</span><span class="hl-code">:
  </span><span class="hl-identifier">aClass</span><span class="hl-brackets">(</span><span class="hl-types">int </span><span class="hl-identifier">member</span><span class="hl-brackets">)</span><span class="hl-code"> : </span><span class="hl-identifier">member</span><span class="hl-brackets">(</span><span class="hl-identifier">member</span><span class="hl-brackets">)
  {
  }
  </span><span class="hl-types">void </span><span class="hl-identifier">echoMember</span><span class="hl-brackets">()
  {
    </span><span class="hl-identifier">std</span><span class="hl-code">::</span><span class="hl-identifier">cout</span><span class="hl-code"> &lt;&lt;</span><span class="hl-identifier">member</span><span class="hl-code"> &lt;&lt;</span><span class="hl-identifier">std</span><span class="hl-code">::</span><span class="hl-identifier">endl</span><span class="hl-code">;
  </span><span class="hl-brackets">}
}</span><span class="hl-default">;

</span><span class="hl-types">int </span><span class="hl-identifier">main</span><span class="hl-brackets">(</span><span class="hl-types">int </span><span class="hl-identifier">argc</span><span class="hl-code">, </span><span class="hl-types">char</span><span class="hl-code">* </span><span class="hl-identifier">argv</span><span class="hl-brackets">[])
{
  </span><span class="hl-identifier">aClass theClass</span><span class="hl-brackets">(</span><span class="hl-number">123</span><span class="hl-brackets">)</span><span class="hl-code">;

  </span><span class="hl-identifier">theClass</span><span class="hl-code">.</span><span class="hl-identifier">echoMember</span><span class="hl-brackets">()</span><span class="hl-code">;        </span><span class="hl-comment">// 123 と出る

  </span><span class="hl-reserved">return </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-brackets">}</span></pre></div></div>
<p>…というコードのコンパイルが通りました。コンパイラが区別つけば同じ名前でも大丈夫みたいですね。ブロック内では this->member と書けるので区別はできそうです。</p>
<p>何事も決めつけてはいけませんね。反省。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1311/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

