HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0910
楽園ソースを見やすく5解決


楽園

リンク

2009/9/10(Thu) 21:39:32|NO.27629

 今HSPでゲームをつくってるところなのですが、ソースの行数が多くなると手直しするために戻ったりするのが大変です。
それにどのラベルがどの部分の命令だったか思い出すのに時間がかかったりして、イライラすることも多くなってきました。

 みなさんはプラグラムの可読性をあげるためにしてる工夫などありますか?
 一応私はどの変数やラベルがどんな働きをするか簡単な仕様書もどきをつくったりしてます。
 何かしらアドバイスなどありましたら教えてください。


 そういえばHSPにはC言語などのように外部ファイルの結合などという機能はないのでしょうか?
 あったらそれぞれの機能で分割出来て見やすくなりそうだな。



この記事に返信する


check

リンク

2009/9/10(Thu) 21:42:32|NO.27630

俺は頻繁に
//---------------------------------
と線で区切ったり、
時々自作関数には、@brief、@return、@paramなどのように分けて関数の概要を書いたりしている。

HSPには#includeというファイル結合命令がある。
まあ、ほぼファイルの中身を挿入するだけだけど。



足利超神

リンク

2009/9/10(Thu) 23:51:12|NO.27633

自分は
リソースファイルと
自作関数ファイルと
メインスクリプトファイルにわけて、
メインで#includeで結合しています。



GENKI

リンク

2009/9/11(Fri) 00:11:28|NO.27635

スクリプトの可読性をあげるために、普段やってる作業を書いてみました。


・こまめにコメントを入れる。
 人は忘れる生き物です。昨日の自分は赤の他人、と思ってコメントを入れるようにする。
 スクリプトの半分がコメントでも気にしない。

・タブでインデント(段差)をつけてifやrepeatの範囲を分かりやすく。

・#includeを使ってファイルごとにサブルーチンを管理。
 このファイルは描画系、このファイルは計算処理系…などと整理する。
 ファイルの先頭にはコメントで内容の説明を書いておく。

・命名規則を考える。
 変数命、ラベル名などはその場で適当につけるのではなく、名前を見ただけで意味や種類、機能が一目で分かるようにつける。
 例えば変数。sz〜なら何かのサイズ、str〜なら何か文字列、といった具合。一般的な例はググってください。
 また、キャメルケースで書くようにすると読みやすくなります。

・変数一覧やサブルーチン一覧、また処理の概要をメモしておく。
 テキストファイルにメモしておくといいかと。これはすでに実施済みのようですね。
 しかしきちんと命名規則を決めておけば、このメモはあまり頼りにせずにすむでしょう。

・処理ごとに線で区切る。(checkさんが言ってるのとかぶります。)
 サブルーチンのみならず、大きな処理の区切りには線など入れると区切りが分かりやすくなります。
 線を入れるほどでもないような所は、空行を入れて区切りとしてもいいでしょう。
 そういえばHSP開発wikiにいろんな人の「線」のパターンが紹介してるページあります。参考にされてみては。

・処理はまとめて整理する。
 使用頻度にかかわらず、全体の流れを見やすくするため、まとまった処理をサブルーチンで分けます。
 メインループがこんな感じですっきりします。

*main ... gosub *idou ;←ここでしか使わないが、別の場所に書くことでメインがすっきり! gosub *hantei gosub *byouga ... goto *main
 また、使用頻度がある程度高いものなどはモジュールにまとめたりします。→後から別のソフトでも再利用できる。

・モジュールを作ったらマニュアルも作る。
 命令を作った所にコメントで使い方を書いておく。hsは配布予定があれば作る。

・サブルーチンの先頭には処理の概要を書いておく。

こんな所でしょうか。



ところで私は普段使ってませんが、サブルーチンの移動は、HSPスクリプトエディタのメニューから
カーソル -> ラベル一覧
を使うと一気に飛べて便利です。



SYAM

リンク

2009/9/11(Fri) 00:17:10|NO.27636

いっそラベルや変数が日本語。



楽園

リンク

2009/9/11(Fri) 01:08:36|NO.27637

>checkさん、足利超神さん、GENKIさん、SYAMさん
 お答え頂きありがとうございます。
 前に試したとき本体のソースに読み込んだソースが反映されてなかったような気がしたので一番最後の質問をしたのですが、
みなさんの書き込みを見て再度確認したところ、きちんと反映されていました。

 機能ごとにきちんと分け、見た目にも分かりやすく、コメントも頻繁に入れるという初歩的なことが一番何ですね。自分なりに空白なり区切り線を導入したいと思います。

 カーソルのラベル一覧は見たことはありましたが、実際使ったことはなかったので活用していきたいと思います。

 本当にありがとうございました。



ONION software Copyright 1997-2021(c) All rights reserved.