C言語入門:④-1 コード記述にあたってのルールまとめ【補助知識】

ここでは、コードを書くときに意識しておく基本的なルールをまとめます。

本記事の目的・学習目標

コード記述の基本的な考え方

コードは「動けばよい」だけではなく、
分かりやすく、安全に動くことが重要です。

そのため、次の点を意識して書きます。

数値を直接書かない

数値をそのまま書くと、意味が分かりにくくなります。

この「3」が何を表すか分かりにくい状態です。

このような数値は「マジックナンバー」と呼ばれます。

意味が分かるようにしておくことが重要です。

そのためには、

  • コメントを付ける
  • 変数名を具体的にする

といった工夫を行います。

このような書き方では、何の時間なのか分かりません。

たとえば、休憩時間であれば

のように、内容が分かる名前にします。

変数名を具体的にすることで、コードの意味が読み取りやすくなります。

定数として定義する

同じ値を何度も使用する場合は、定数として定義します。

定数とは、途中で値が変わらない値のことです。

定数にすることで、値の意味が分かりやすくなります。
また、値を変更する場合も、1か所の修正で済みます。

定数を定義する方法には、#define を使う方法と、const を使う方法があります。

#define

#define は、書いてある名前を数値に置き換える仕組みです。

プログラムの中の REST_TIME は、コンパイル前にすべて「3」に置き換えられます。

const

const は、値を変更できない変数として扱う書き方です。

通常の変数と同じように使えますが、あとから値を変更することはできません。

どちらも、数値に意味のある名前を付けるために使用できます。

このように名前を付けておくことで、
ただの「3」ではなく、「休憩時間の3」であることが分かりやすくなります。

エラーを考慮する

プログラムでは、常に正しい値が渡されるとは限りません。

想定外の値が来ると、プログラムが停止してしまう可能性もあります。
そのため、不正な値を前提にチェックを行う必要があります。

また、データが取得できない場合も考慮します。

NULLというのは何も指していない状態を表します。

NULL である場合の処理を作成し、使用する前の確認を行うことで、エラーを防ぐことができます。

読みやすい構造にする

処理を一度にまとめて書くと、流れが読み取りにくくなります。
そのため、処理の役割ごとに分けて書くことが重要です。

まとめて書いた例

この書き方でも動作はしますが、
「配列から取り出す処理」と「表示する処理」が1行にまとまっています。

処理を分けた例

このように分けて書くことで、

  1. handleで番号を決める
  2. titleにデータを取り出す
  3. 取り出したデータを表示する

という流れが分かりやすくなります。

大きなプログラムになるほど、このように処理を分けて書くことが重要になります。

また、記述の形を揃えることも重要です。

括弧の位置を揃える

このように {} の位置を揃えて書くことで、
処理のまとまりが分かりやすくなります。

まとめ

今回の学習内容は次の通りです。

  • 数値は意味が分かる形で扱う
  • エラーを考慮してチェックする
  • NULLを確認する
  • 処理を分けて書く
  • 括弧の位置を揃える

本記事ではコード記述の基本的な考え方を記載しているため、具体的な決まりがあるわけではありません。

本記事で登場した用語

本シリーズでは、記事で登場する専門用語を補助知識カテゴリの「④-4 用語辞典」 にまとめています。

①変数名

値を扱うための名前で、内容が分かる名前を付けることが重要

②コメント

コードの意味を補足するための説明文

③エラー

想定していない値や状態によって、正しく動作しないこと

④NULL

データが存在しない状態を表す値

⑤インデント

コードの行頭を下げて、処理のまとまりを見やすくする書き方

⑥ブロック({})

処理のまとまりを表す記号

⑦マジックナンバー

コード内に直接書かれた数値のうち、何を表しているのか意味が分かりにくい数値のこと

関連記事

次の記事では、C言語の基本的な型(詳細) について解説します。

▶ 次の記事
C言語入門:④-2 C言語の基本的な型(詳細)【補助知識】

◀ 前回の記事
C言語入門シリーズ:④-0 補助知識【概要】

◆同じカテゴリの記事一覧(概要ページ)
C言語入門シリーズ:④-0 補助知識【概要】

◆シリーズの記事一覧
C言語入門シリーズ:プログラムの基本構造【記事一覧】

2 COMMENTS

C言語入門シリーズ一覧|全17記事の学習構成と進め方 へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です