プログラマーとして働き出して一番気になるのは汚いコードを書くことです。
製品に自分のコードが入り、不具合が発生した場合、自分はすぐに対応できるのか不安になります。
正解がわからず書くたびに書き方に手が止まってしまうと思います。
特に名前の書き方はどうすれば良いのか、エラー処理ってこれでいいのか?
今回、私が3年間プログラマーとして働いてきて、ここだけ押さえておけば何とかなるポイントを6つ紹介します。
どのプログラミング言語、開発環境でも共通していそうなもの6つをピックアップしてます。
初心者や駆け出したばかりのプログラマーにとっての参考になればと思います。
使用言語:C++、Python
開発経験:解析ソフトの新機能開発、不具合修正など
プログラミングの書き方
・名前の意味と付け方
・既存処理との整合性
・コメントは付けない
・構造だけで説明できる
Contents
初心者はプログラムの説明できる書き方を理解することを意識
プログラミングになれていない時期は何となくでプログラムを書いてしまいます。
その結果、上司や先輩に「この書き方にした理由は何ですか?」と聞かれ答えられない状況に陥ります。
初心者を脱出するにはこの処理が必要な理由を探しながら実装しましょう。
例えば関数を追加する理由、ここでエラー処理(領域外参照の回避)などです。
プログラミングが上手い人はビビるほどシンプル
熟練プログラマーはとてもわかりやすいプログラムを作ります。
理由は修正や新機能の追加でどこを変更すれば良いかわかるようにするためです。
プログラミングを極めたいのであれば、はじめはシンプルさを重視すべきでしょう。
ルール1:変数名、関数名は意味のある名前に
プログラミングにおいて、ネーミングセンスは絶対必要です。
しかし、そんなに難しくはないので大丈夫です。
例えば、ファイルを出力する関数名にmakeやcreateを頭に置くような感じです。
短い英文を作る感覚で名前をつけると良いでしょう。
一番やってはいけないことはマジックナンバーを使うことです。
変数を001、021、045のような名付け方をすると何の情報を持っているかデバッグするまでわからないです。
ルール2:命名規則を統一させる(全4種)
関数名では命名規則というプログラマーの間で決めている名付け方があります。
大文字で始めるのか?単語を_で繋ぐのか?
これはチームと相談して統一してあるものを選びましょう。
わからなければ既存プログラムに書いてある方法をマネると間違えないです。
・アッパーキャメルケース
SetInputParameters()
・ローワーキャメルケース
setInputParameters()
・スネークケース
set_input_parameters()
・チェインケース
set-input-parameters()
ルール3:処理の構造でやりたいことを説明する
わかりやすいプログラムとは処理の流れだけでも何をやろうとしているか理解できます。
ここでパラメータを読み取る、ここで正常な数値なのか確認する、ここで変換処理を行うなど。
そうすることで、後日に不具合修正することになっても出力結果からどの辺に問題があるのか推測することができます。
また、自分以外の人でも理解できるということは無駄な質問を聞かれる問題もなくなります。
関数名などの名前付けやループ処理、分岐処理の意味が簡単に理解できるプログラミングを意識してみましょう。
ルール4:コメントアウトは不要
プログラムの中にはコメントは極力残さないようにします。
"コメントがある=コメントを読まないと理解できない処理"なので、余程の理由がない限りコメントを使用してはいけません。
リソース的に実装を見送る場合、急ぎじゃないけど対応する必要がある場合などでコメントを残すことを心がけます。
コメントが大量についているプログラムは汚いと覚えておきましょう。
ルール5:重複処理は関数化させる
何度も同じ処理をするところは関数化してくくるべきです。
理由は、処理の中で仕様が変更になったとき、修正箇所が1つ済むからです。
また、修正漏れも防げるのでケアレスミスの防止にも役立ちます。
プログラミング初心者は関数の扱いに慣れていないことが多いです。
関数はどのプログラミング言語でも使われる機能なので、積極的に実装した方がいいです。
ルール6:必ず参考になる既存の処理を見つける
もし、自分が誰かのプログラムに手を加える場合、周りの処理と同じような書き方をした方がいいです。
自分なりに最適なプログラムを作成しても、他の処理と書き方が異なると他の人が混乱するリスクがあるからです。
なので、追加でプログラムを作成する場合は、参考になる既存処理に目を付ける習慣を心がけるといいです。
レビューも通りやすいですし、"なぜこの処理にしたのですか?"と質問されることもなくなります。
まとめ
今回、6つのプログラミングの書き方について紹介しました。
チームでプログラムを開発する能力というのは将来的に役に立ちます。
初心者プログラマーで、プログラムの書き方で手が止まってしまう人は参考にできるものばかりです。
スピード、正確性、読みやすさの向上にも繋がります。
ぜひ、なるほどと思ったポイントがありましたらマネてみてください。