プログラムをきれいに書くにあたって、

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
heyman
記事: 99
登録日時: 10年前

プログラムをきれいに書くにあたって、

#1

投稿記事 by heyman » 10年前

今ゲームを作成しているのですが、今までで、ここまで行数が
多く、処理が複雑なプログラムを組んだのが、初めてで、
お世辞にも、見やすいと言えないほどにひどいので、
一回、初めから、今あるのを参考に、書こうと思うのですが、
些細なことでもいいので、きれいに書くにあたっての
アドバイスがあればよろしくお願いします。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: プログラムをきれいに書くにあたって、

#2

投稿記事 by softya(ソフト屋) » 10年前

やることの定番といえばですね。

・きちんと機能単位でモジュール分けする。
・グルーバル変数は使わない。使ってもほんの少し。
・関数名・変数名をちゃんと命名する(妙な略号は使わない)。
・関数名から類推できる機能しか関数には搭載しない。
・関数は、1ページが程度の規模が望ましい。
・マジックナンバーは使わない。定数化する。
・リファクタリング(内部構造を整理)を定期的に行う。
・作った関数の機能は1つ1つ必ず動作確認(テスト)する。
・バグを後回しにしない。

あたりをきちんとしないとRPGの規模になると破綻します。
それと初心者だと設計がマズイ所が必ず出てくるので、今後も何回か作りなおす事になるかと思いますが、めげずに頑張ってください。

ゲームプログラミングの館の「 ゲームプログラミング設計 」も参考にされると良いと思います。

【追記】
忘れてましたが追記
・モジュール間の結合度(依存度)は出来るだけ低く抑える。
・モジュールの内部をしらなくても使える関数にする。

参考リンクも貼っておきます。
「C言語 再入門講座 - 工学ナビ」
http://kougaku-navi.net/c_advance/
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

heyman
記事: 99
登録日時: 10年前

Re: プログラムをきれいに書くにあたって、

#3

投稿記事 by heyman » 10年前

ほんとに初心者な質問で申し訳ないんですが、
ローカル変数を宣言するときに、初期化が必要ですよね?
だから初期化するんですが、関数内で、変数を使ってカウント
などするとき、関数の初めに、初期化されるので、
いつもカウントに使う変数は、グローバル変数で宣言するんですが、
何か対処法などありますか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: プログラムをきれいに書くにあたって、

#4

投稿記事 by softya(ソフト屋) » 10年前

モジュール内に閉じるグローバル変数をできるだけ使ってください。関数外に書くstatic記憶域の変数です。
これだと参照できる範囲はモジュール=1つのcppファイル内に閉じ込められます。
ただ、これも多用し過ぎると問題なので、static付きのローカル変数も必要に応じて使います。

変数の見える範囲はできるだけ狭めて、変数寿命もローカル変数などで短くするのがコツです。
なので変数のスコープと寿命は頭に叩き込んで下さい。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

heyman
記事: 99
登録日時: 10年前

Re: プログラムをきれいに書くにあたって、

#5

投稿記事 by heyman » 10年前

分かりました。それらのことを頭に入れつつがんばってきます。
ありがとうございました

閉鎖

“C言語何でも質問掲示板” へ戻る