こんにちは![]()
まだまだ寒さが続く今日このごろ、
今でもコート、手袋、マフラー、ヒートテック、カイロが手放せないノブです。
カイロを切らしているので、早く買いに行かねば・・・![]()
さて、学生の皆さんは就職活動まっただ中ではないでしょうか。
私もおととし、同じ経験をしていました。
色々不安もありましたが、とにかく自分の好きなプログラムを書き続けていたこと、
がむしゃらだったことはよく覚えています![]()
ゲームプログラマー希望の大半の学生さんは、
オリジナルゲームを作って企業さんにアピールをしていくと思います。
少しでも、クオリティアップを図るため、様々な技術や工夫を
直前まで行うことが多いと思います。
かつての私もそうでした![]()
ただ、テストプレイをしていてどうしてもわからない不具合が発生する場合があります![]()
そんな時に役に立つかもしれないのが、静的解析です。
Visual Studio 2010以降、標準機能として「コード分析」という
静的解析機能が実装されています。
これで、自分のプロジェクト(ソリューション)を静的解析して、
不具合を招くかも知れないコードを検出することができます。
ありがたいことに、Visual Studio のExpressバージョン(無償バージョン)にも
実装されている機能です![]()
ということで、当時私が就職活動に使用していた作品に対して、
Visual Studio Express 2012 で静的解析をかけてみました![]()
Visual Studio Express 2012を起動し、
[ビルド]→[ソリューションでコード分析を実行(Alt + F11)]を選択すると実行できます。
(または[ビルド]→[プロジェクトのみ]→[【プロジェクト名】のみでコード分析を実行]で
プロジェクトのみの静的解析を実行することができます。)
すると、コード分析用のウィンドウが出現し、静的解析を実行します。
(解析中なので、ドキドキする時間でもあります・・・
)
実際の結果がこちらです。
私の就職作品で危険コードと判断されたのは、5箇所でした。
(思ったよりも少なかったですが、検出されてしまいました・・・
)
上記の静的解析結果は、enemyポインタ変数を、
NULLチェックせずにアクセスしているので、
危険コードと判断されてしまったようです。
このコードは、場合によっては強制停止の不具合につながるので、
きっちりNULLチェックするべきですね。
(かつて自分の書いたコードですので、恥ずかしいです・・・
)
これ以外にも以前、シラッチが紹介していた、様々な静的解析ツールがあるので
試してみてはいかがでしょうか?
ちなみに紹介されているツールの一つである「CppCheck」で静的解析をかけた結果、
結構な数が出てきてしまいました・・・![]()
作品の品質を向上させることはもちろんですが、
不具合を生みにくいプログラムを組むことで、更にクオリティの高いものに仕上がります。
明日までですが、弊社では2次募集受け付け中ですので
ゲームを作る熱意と技術を持った方をお待ちしています![]()
それでは![]()




