talosのプログラミング教室

プログラミング初心者がコーディングにおいて気をつけるべきこと

スポンサーリンク

はじめに

こんにちは.talosです.

私はTAとして学部生にプログラミングを教えているのですが,その中で気になったことがいくつかあったのでまとめてみました.

以下のことに気をつけてコーディングすると,デバッグの際などにコードを読みやすくなったりするかもしれないので実践してみてください.

コーディングにおいて気をつけるべきこと

関数名や変数名には意味のある名前をつける

関数名にfってつけたり,変数名にaやbなどと適当につけていませんか?

これは,読む側からすると非常に迷惑だし,コードを書いている人自身も「これはなんの変数だっけ?」となります.

例えば,名前を代入する変数なら"name",歳を代入する変数なら"age"などと名付けましょう.


ちゃんとインデントをする

インデントとはコードを読みやすいように字下げすることです.

恐らくほとんどの人は「やってるよ!」と思ったと思います.

でもちょっと待ってください.

本当に正しくインデントしているのでしょうか?

見てみるとインデントがずれていることがよくあります.

そのせいでfor文などの範囲の勘違いに繋がったりします.

eclipseなら「Ctrl+i」で指定範囲をまとめてインデントできるので確認してみてください.


if-elseの多用を避ける

これは必ずしも当てはまるわけではないのですが,if-elseを使わない方がよいときもあります.

例えば,

if(x >= 0) {
  y = 1;
} else {
  y = -1;
}
y = (x >= 0 ?  1 :  -1);

上の2つは同じ結果になります.

このように,三項演算子を使うことですっきりと書くことができます.

ただし,

if(x >= 0) {
  y = 1;
} else if(x == 0) {
  y = 0;
} else {
  y = -1;
}
  y = (x >= 0 ? (x > 0 ? 1 : 0) : -1);

この2つも同じ結果になりますが,かえって読みづらくなってしまっているので,複雑にならないように気をつけましょう.

また,場合によってはswitch文やcase文を使うのもよいでしょう.


何度も行う処理は関数やメソッドにする

同じ処理を何度も書くのは面倒ですし,可読性を落とします.

何度も行う処理は関数やメソッドにしましょう.


goto文をむやみに使わない

むやみにがgoto文を使うと.あっち行ったりこっち来たりで可読性が著しく低下します.

そのようなコードはスパゲティコードと言われます.


コメントを書く

コメントがないために,後で見返したときにそのコードが何をしているのかわからないという人をよく見ます.

できるだけこまめにコメントを残しましょう.

とても簡単な処理をしているところなどは書かなくてOKです.


実行ファイル名を指定する

gccコンパイルすると「a.out」という実行ファイルができます.

これは他のファイルをコンパイルすると上書きされていきます.

実行ファイル名は-oオプションで指定することができるので使いましょう.

gcc file1.c -o file1

おわりに

今回は,私が気になったプログラミング初心者がやりがちなことをまとめてみました.

ただし,goto文や三項演算子の起用はいろいろな意見があるので,ネットで調べてみるとよいでしょう.