*

初心者が読みやすいコードを書くときに気をつけたい4つのポイント

本日のお題は、「読みやすいコードの書き方」についてです。

プログラミングをやりたての頃は機能を実装するのに手いっぱいでコードが読みやすいか、どうかなんてところまで頭が回らないと思います。

ただ少しずつプログラムに慣れてくると「コードが読みやすいか」はめっちゃ大事です。

これは決して自己満足的なことではなくて、チームで仕事をする場合でも自分一人でも大切な考え方です。

真面目にエンジニアの採用をしている会社では採用の時にコードの提出を求めてくることもあります。

専門的なことをいうといろいろとありますが、PHPをやり始めの方でも意識できるような点をお伝えしますね。

初心者がコードを書くときに気を付けたい4つのポイント

わかりやすい変数名をつけよう

これは変数や関数の名前が具体的でわかりやすいものになっているか、ということですね。

例えばテストの点を扱うとき、変数名が$aでは、なにを指しているかわかりません。

その場合$scoreのほうが適切でしょう。

「そんなことでいちいち悩むの・・?」と思うかもしれませんが、複雑な処理を書いていると似たような変数がいっぱい出てくるのでこの命名が難しいんですよね。

テストの点数といっても、最高点、最低点、平均点、などが出てくる場合は当然scoreでは識別できません。best_score,worst_score,average_scoreなどとする必要があります。

そのほか一時的な点数などもでてくるともっともっと命名は難しくなります。私もプログラミングをやって4年たちますが、いまだに命名にはは頭を悩ませますね。

最初のうちは迷ったら少し長めにするぐらいがいいでしょう。

そのほうが変数をしっかりと記述できるからです。

これは関数も同じで、何の処理をしているかが名称だけではっきりわかる必要があります。

例えばgetDataのような関数名では何のデータを取得するかわからないですよね。もう少し具体的に名称を付ける必要があります。

一般的には関数はほとんどが動詞+目的語です。

変数名や関数名でどんな単語が使われるか、具体的に知りたい場合はちょっと難しいですが下記のようなリンクもおすすめです。

http://qiita.com/KeithYokoma/items/2193cf79ba76563e3db6

1つのメソッドを短くしよう(目安として30行以内)

見にくいプログラムの筆頭は1つのメソッドがやたら長いことです。

  • 長いと扱う変数がふえ、名前が衝突したり間違える可能性が上がる
  • 細かく分割できず、修正箇所がふえる
  • 3段以上のインデントが増え、何をやっているのか把握するのが困難

など一般的に言ってデメリットが非常に多いです。
専門用語で保守性が低いコードといわれます。

そういったことを防ぐためにもソースはできる限り短く書きましょう

短くかくことによって処理の1つ1つを部品化でき、修正が楽になることが多いです。

私も実務でプログラムを書くときはほとんどが30行以内で、半分以上は15行以内です。

短くすることが目的ではなく、読みやすく分かりやすい、そして修正に強いコードを書こうとおもったら必然的にそうなります。

行数というのはあくまで目安で、ひとまとまりの処理で区切るようにしています。

最初はどうしても長いコードを書いてしまうと思いますが、なれてきたら1つ1つの処理で区切り、できるだけ短いコードを書くようにしましょう。

できるだけ再利用できる書き方を考えよう

プログラムをやっているといたるところで似たような処理を書くことに気が付くと思います。

例えばこちらのレクチャーでは最初ということもあり、ファイルに書き出したり、読み込む処理などを1つのソースに書いています。

しかし、他の場所でもファイルに書き出したり、読み込んだ処理があるとすればファイル読み書きの処理は1か所にまとめてしまってそこから読み出したり、書き込んだほうが効率的でしょう。

似たような処理があればできるだけ、まとめて、共通化するようにしてみましょう。

慣れないうちはとりあえずコードを書いてみて、同じような処理を2か所以上に書いてしまったら、「どうにかしてこれをまとめられないかな?」「どこかで共通化できないかな?」という疑問をもつようにしましょう。

またこのように共通化しよう、と思うと必然的にコードが短くなってきます

そうやってコードを修正していくことがスキルアップにつながります。

コメントを積極的にかこう

ある程度慣れてきたプログラマの間ではコメントは書かないほうがいい(書かなくてもわかるソースを書くように努力すべし)という方もいますが、初心者のうちは積極的に書いたほうがいいでしょう。

最初のほうはコードを書く要領がなかなかつかめないので、いきなり読みやすいコードを書くことはなかなかできないと思います。

その場合でもコメントがあれば何がかいてあるかわかりますので、「読みやすいコード」になりますし、実務では他人の役に立ちます。

自分が書いたソースでも1週間ぐらいたつと何を書こうとしていたか覚えていることは稀でしす。プログラマにとっては一週間前の自分は他人です(笑)

プログラミングは機械に命令を伝えるために人間と機械の橋渡しをするために開発された言葉ですが、やはり普段話す言葉と比べればわかりやすさに限界があります。

それを補う意味でもコメントは積極的に書いたほうがいいでしょう。

まとめ

読みやすいコードを書くためのコツみたいなものを凝縮してお伝えしました。

初心者のうちはとにかく仕様を満たす処理を書くので手いっぱいかと思いますが、「わかりやすい変数名・関数名を付けよう」「この処理はこう分割したら修正がしやすいだろう」「もう少し短くしてみよう」など少しずつでもいいので心がけておくと、だんだんときれいなコードが書けるようになると思います。

参考図書

読みやすいコードを書くための参考書をお勧めしておきます。

あ、アフィリエイトリンクとかは貼ってないので安心して下さい(爆)

リーダブルコード

この分野では、聖典といわれている本ですね。

アマゾンのレビュー数も非常に高く、たしかにいい本ですが、オライリーの本らしく、難しいので、初心者の方はやめましょう(爆)

読みやすいコードが少しずつ書けるようになったかな・・と思った頃に読むといいでしょう。

良いコードを書く技術 -読みやすく保守しやすいプログラミング作法 

アマゾンでは内容が薄いと評価されていますが、プログラミングを勉強しはじめの初心者にとっては簡単ではないので、まずはこの本を少しずつ読み進めることをお勧めします。

読者を楽しませる面白さもあり、初心者にはちょうどいいかなという気がします。

Javaを題材にしていますが、ソースを理解できなくても読み進めることは可能です。

関連記事

PHPで掲示板を作ろう!(データベース編) その2 MySQLログイン編

あ、最近はこのブログの画像に凝るようにしています。サイドバーなんかみていただくとブログのアイキャッチ

記事を読む

CMSとは?

先週オフィスにきた新規の受講生の方に「CMSを使いたいので、使い方を教えていただきたいのですが・・・

記事を読む

オブジェクト指向

オブジェクト指向 その1 コードを1行も書かずに理解してみる

今回はオブジェクト指向について書きます。 プログラミングを少しでもやった(orやろうと思った)

記事を読む

ドキドキ本番リリース時に大切な心構え

今回はエンジニアにとって大切な本番リリースについて。 本番リリースというのはいままで開発環境(

記事を読む

理論と実践のバランス

ネタ不足&開発のほうが忙しく、一か月以上書いておりませんでした。 今回は漠然とスキルアップする

記事を読む

お問い合わせフォームを作ろう! その3(PHP)

それでは前回のコードを例に少しずつ内容について説明をしていきます。 値を取得するには まず一番最

記事を読む

セミナー告知のお知らせ

突然ですが2018/06/16にIT業界への就職希望者を対象とした無料プログラミングセミナーを開催さ

記事を読む

教え方がうまい人に共通するたった1つの考え方

やや遅い気もしますが、あけましておめでとうございます。 今年もよろしくお願いします。 昨

記事を読む

データを扱ってみよう その3(多次元配列)

お疲れ様です。松本です。 さて前回の「データを扱ってみよう その2(配列)」から若干日が開いて

記事を読む

PHP 掲示板

PHPで掲示板を作ろう! 掲示板の作成方法 その3(エラーチェックとファイル書き込み)

今回はPHPのコードの説明です。 掲示板の作成方法についてやります。 えー、前回の掲示板

記事を読む

Message

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

無料PHPスクール
自社開発>客先常駐である本当の理由

このブログでも何回か取り上げていますが、ITエンジニアの働き方としては

エンジニアにとって必要なコミュニケーション能力とは

気がついたらもう3月下旬になっていますね・・ 年末年始忙しかった

エンジニアを採用する上で大事なこと

本日はエンジニアの採用について書きたいと思います。最近少し採用に絡んだ

エンジニアが給料を上げる方法を真面目に考えて見ました。

本日はエンジニアと給料の話題について触れて行こうと思います。 エ

エンジニアの「スキル」とはなんぞや

給与が低いことに悩んでるエンジニアへのアドバイスをツイートで見たところ

→もっと見る

  • follow us in feedly
PAGE TOP ↑