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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0709
Qソースの作法9解決


Q

リンク

2012/7/9(Mon) 16:06:29|NO.47564

皆さんがソースを書くときに、可読性とかを考慮して行っていることを教えてください。

自分の場合、変数を_(アンダーバー)で必ずはじめるようにしています。



この記事に返信する


kanahiron

リンク

2012/7/9(Mon) 17:03:31|NO.47566

自分は基本的なことかもしれませんが、repeat、loop、returnはタブを挟まない、
ifの{}のなかはタブを一ついれる
座標の変数は○○x ○○y、
RGBの変数だったら ○○_r ○○_g ○○_b
とかです


repeat sx = mousex sy = mousey if click = 2{ zoomsize -=0.25 } if click = 8{ zoomsize +=0.25 } if mousex >= 200 & mousex < 800{ if click = 256{ Color 255,255,255,255 } if click = 512{ color h_r,h_g,h_b,255 } } await 16 loop



KA

リンク

2012/7/9(Mon) 20:12:46|NO.47575

全体的に共通する変数はそれなりの名前を付けるが、部分的にしか
使わない変数は単純な名前にして使い回す。変数が多くなりそうな
気がしたら配列変数で管理する。なので変数名は極力シンプルにし
ている。



ミント

リンク

2012/7/9(Mon) 21:35:20|NO.47580

自分も変数の名前の付け方を決めてますね。

00_x,00_y
(自機_x,自機_y)

ってな感じで、物の名前の後にアンダーバー入れて、その後に座標などを書くようにしてます。
後は他の人と同じように
>>ifの{}のなかはタブを一ついれる
などをやってますね。

けど時々変数の名前を決めるのに悩むときがありますね。
(TISK_DR_f = 1 ;低速玉が出るフラグ)など
(よく見たらDRいらないな、修理多すぎて泣ける・・・)



とおりすがり

リンク

2012/7/10(Tue) 00:44:06|NO.47582

長くなりそうな処理は積極的にサブルーチンに分けるようにしています。

具体的には、スクリプトエディタをスクロールしないですむ量を一区切りとして
それ以上に長くなりそうな場合はサブルーチン化するか、あるいはもっと短く書けないかを考えます。
サブルーチンの名前には、長くても処理内容が分かりやすいものをつけるよう心掛けています。



Makoto

リンク

2012/7/10(Tue) 11:31:26|NO.47586

ソースそのものではありませんが、コメントをできるだけ入れたほうがいいと思います。
そのプログラムの解説書でも書いてるような気持ちで、
それこそすべての行に入れるぐらいの勢いでかまわないでしょう。

意外と重要なのが、簡単な処理をしている部分。
そうしないと後から見た時に、「何でここで1足しているんだっけ?」
なんてことになってしまいます。

後は、リストに区切りを入れると見やすくなります。


;─────────────── サンプル ;//////////////////// データ設定 a=200 b=100 ;//////////////////// 計算処理 add=a+b ;足し算 sub=a-b ;引き算 mul=a*b ;掛け算 ;---------- 割り算 if b=0 { ;割る数が0の時 mes "0では割れません" div=0 } else { div=a/b ;割り算 } ;//////////////////// 結果表示 mes "A+B="+str(add) mes "A−B="+str(sub) mes "A×B="+str(mul) mes "A÷B="+str(div) stop

大きなブロックから、細かい内容になるにつれて
何段階かの区切りを用意しておくと、わかりやすくなると思います。



とりちゃそ

リンク

2012/7/10(Tue) 15:31:15|NO.47587

自分は_は使わないですねーw

変数名は大文字を駆使して読みやすくしてます。
ColorR ColorG ColorB

命令も最初の文字は大文字にしたりと変にこだわりを持ってます。
BoxF Color ReTurn



YSR

リンク

2012/7/12(Thu) 23:41:59|NO.47640

・インデントをハッキリさせる
・大きくなりすぎたときはサブルーチン(モジュール機能も含む)に分ける
・巨大なコードになりそうなときはあらかじめ変数表を作っておく
・/* 〜 */、//、;の使い分け(コメント位置・インデントによって処理を見やすくする)
・インデントをハッキリさせる
・大きくなりすぎたときはサブルーチン(モジュール機能も含む)に分ける
・巨大なコードになりそうなときはあらかじめ変数表を作っておく
・/* 〜 */、//、;の使い分け(コメント位置・インデントによって処理を見やすくする)
例:

/* 初期化 */ //表 dim board,10,10 board.4.4=2,1 board.4.5=1,2 ;ハンデ用処理 repeat absf(handi) (中略) loop //その他 dim stones,2 (中略) /* メインルーチン */ //画面描画 if view=1 :windraw board (後略)
 初期化の変数代入はインデントを分け、部位ごとにコメントも変えました。
(厳密には、1や2をBLACK、WHITEと#defineする方がより分かりやすい)



YSR

リンク

2012/7/12(Thu) 23:42:09|NO.47641

・インデントをハッキリさせる
・大きくなりすぎたときはサブルーチン(モジュール機能も含む)に分ける
・巨大なコードになりそうなときはあらかじめ変数表を作っておく
・/* 〜 */、//、;の使い分け(コメント位置・インデントによって処理を見やすくする)
・インデントをハッキリさせる
・大きくなりすぎたときはサブルーチン(モジュール機能も含む)に分ける
・巨大なコードになりそうなときはあらかじめ変数表を作っておく
・/* 〜 */、//、;の使い分け(コメント位置・インデントによって処理を見やすくする)
例:

/* 初期化 */ //表 dim board,10,10 board.4.4=2,1 board.4.5=1,2 ;ハンデ用処理 repeat absf(handi) (中略) loop //その他 dim stones,2 (中略) /* メインルーチン */ //画面描画 if view=1 :windraw board (後略)
 初期化の変数代入はインデントを分け、部位ごとにコメントも変えました。
(厳密には、1や2をBLACK、WHITEと#defineする方がより分かりやすい)



YSR

リンク

2012/7/12(Thu) 23:42:36|NO.47642

スマン、間違って2度投稿しちまった・・・



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