2014年9月29日月曜日

私のプログラムについて

ネット環境がおかしくなってて書き込める状態になるまで時間がかかってしまいました。

今回はプログラミングについての話題です。
専門的な話も入るので予備知識がないとわからないかもです。





私は中学生のころにCを始めました。
小学校の先生に「君はゲームを作る仕事とかいいんじゃないか」とかそんなことをいわれ
とりあえずプログラミングを学ぼうと本を買って勉強し始めました。

その時の教科書は今実家にあるんですが


多分これです。
(アマゾンで「C言語 基礎」って検索したらかなり下の方で見つけました。適当に買ったやつだしな…)

基本的に本の内容で難しすぎてわからないというところはありませんでした。
数学が得意な方だったこともありすんなりプログラムを理解できました。

で、しばらくCやC++などでプログラムのお勉強をしていたわけですが、
ポインタあたりでつまづいてその辺でプログラミングに飽きちゃったんですね。

フラッシュにも手を出そうとしたんですがなんかよくわからなかったので本買って放置ですね…


で、ある時家電量販店内のブックコーナーでHSPというのを見かけたんですよ。
こんな感じのぶんネットでよく見かけたなぁと思って買ったわけですが
後になってPHPと混同していたことに気付く←



この買った時には最新版が3.2だったのですがまぁ今の最新版を貼っておくことにしました。

まぁ買ってしまったものはしょうがないとそれで勉強してみたんですが、
これが非常にわかりやすい!

プログラムの流れの制御とかがCに比べて書きやすかったんですね。
それで、私は趣味でゲームとか作ってますけどほとんどHSPですね。

今後javaC#にも手を出す予定ですが
HSPほどハマるかはわかりません。


言語についてはこんな感じでやってます。

私のプログラムの内容ですが、
基本的に簡素な条件式を使うように心がけています。

たとえば、a,b,c三つのフラグを表す変数(値が0,1のどちらかしかないとする)があるとします
これらの全ての状態について場合分けのプログラムを書こうとすると、
同じクラスの友達とかが書くと

if(a==0){
  if(b==0){
    if(c==0){
      処理①
    }else{
      処理②
    }
  }else{
    if(c==0){
      処理③
    }else{
      処理④
    }
  }
}else{
  if(b==0){
    if(c==0){
      処理⑤
    }else{
      処理⑥
    }
  }else{
    if(c==0){
      処理⑦
    }else{
      処理⑧
    }
  }
}

無駄に長い!
他にも何パターンか考えられますが、if-elseがうっとおしいです。
(あくまで個人の感想です。コードの見易さについては人それぞれだと思います。)

これを私なら、

x=a*4+b*2+c;
switch(x){
case 0:処理①
case 1:処理②
case 2:処理③
case 3:処理④
case 4:処理⑤
case 5:処理⑥
case 6:処理⑦
case 7:処理⑧
}

こんな風に書きますね。
要するに、フラグを一つの変数にまとめて、ひとまとめでswitch文に組み込んじゃってます。


見やすいし、部分的に書き換えるのもわかりやすく良いと思うのですが、どうでしょう?
(あくまで個人の感想です。コードの見易さについては人それぞれだと思います。)

インデントなんかは普段使っているエディタで自動的に入る以外にはコメント文のところぐらいしか使いませんね。
これも個人的なポリシーです。特に意味はないですが。


あの駄ソースのせいで妙に分量喰っちゃいましたね。
何か思いだしたらまた私のプログラムのポリシーとか語ろうと思います。

0 件のコメント:

コメントを投稿