ながれです。
今回は、お仕事のプログラミングの特徴について、一部説明しようと思います。
私は、企業で3年ほどお仕事でプログラミングを経験しました。
大学の専攻が情報系だったため、ある程度プログラミングは出来ましたが、それでもレビュー指摘は散々受けてきました。
そこから、趣味と仕事の違いのノウハウを身につけました。
成果として、最後に携わったプロジェクトではレビュー指摘はほぼなし、クライアントの受入評価でも指摘0件という記録を叩き出しました。
プログラミングを始めたばかりの方や仕事ではなく趣味でプログラミングをやっている方は、是非本記事を読んでいただき、現場で活用していただきたいです。
これを読めば、現場で活躍のできるプログラマーに近づけます!
趣味のプログラミングと仕事のプログラミングって何が違うの?
大きな違いとして、必須要件に違いがあります。
・趣味では正しく動作すればOK
・仕事は
-要件を満たす
-想定外のエラーが起きる可能性を0に近づける
-コードの可読性向上
-コードの処理経路を把握
-…
などなど。
特に、エラー時の処理が仕事では重要になります。
現場ではスピード感が求められます。
問題発生時、素早くかつ確実に解析できるよう予めコードを作成しておく必要があるのです。
また、お仕事のコードはクライアントに見せる場合もあるため、「わかりやすいコード」が求められます。
実際、仕事で作るプログラムのコードは正常系(正しく動いた時の処理)が全体の3割で、残り7割はエラー時の処理と言われています。
今回はその「可読性の向上」について詳しく説明していきます。
今回、可読性の向上で取り上げるのは以下
①変数は必ず定義(DEFINE)する
②複数分岐は最後まで書く。最後は必ずコメントを書く
③コメントは過剰なくらい書く
もちろんこれだけではないので、続きは次回の記事に。
さて、それぞれ詳しく見ていきます。
①変数は必ず定義(DEFINE)する
グローバル変数、プライベート変数どちらも定義します。
グローバル変数とは様々なクラスで使う変数のことで、プライベート変数とは一つのクラスやメソッドのみで使う変数のことを指します。
なぜ、必ず定義するか?
それは各変数がどのような意味を持った変数なのか、わかりやすくするためです。
そのため、変数の名前も重要になってきます。
どんな意味をもった変数なのか?わかりやすく端的な名前を必ずつけましょう。
また、変数があまりに多いのであれば、変数定義用のクラスを作ってしまうのも有りです。
後からコードを見返した時に、どの機能でどんな意味を持った変数を使っているのかわかるようにしておきましょう。
そうすることにより、問い合わせを受けた際やエラー解析時などグッと効率良くなります。

② 複数分岐は最後まで書く。最後は必ずコメントを書く
例えば、if~else ifなど複数分岐する時は、どの条件にも当てはまらない最後のelseまで記載する、ということです。
最後のelseで何も処理をしない場合に抜けてしまいがちですが、必ず書きましょう。
こうすることによって、処理の流れが明白になります。
「ここの分岐って分岐に当てはまらないときどんな動きになるの?」というのはよくある質問です。
もちろん、「見れば何もしてないことわかるやん!」となりますが、そのような質問をする人はコードをあまり見ていない場合が多いです。
それに、そのコードをじっくり見ているほどの時間もありません。
重要なのはスピード感です。
誰にでもわかりやすいコード、という意味で必ず最後のelse内に
“処理なし”や”何もしない”
などと明記しておきましょう。

③コメントは過剰なくらい書く
おそらく、趣味でプログラミングを行っている方はあまりコメントを残していないと思います。
自分しかコードを見ないし、自分が全部把握している場合はそれでも良いでしょう。
先ほども言った通り、お仕事のプログラミングはプロジェクトのメンバー、プロジェクトリーダー、クライアントなど沢山の方が見ます。
コメントがない場合、そのコードを理解するためには各コードがどのような機能を持ったコードなのか、一から見る必要がありますよね。
あまりに無駄な時間になるのです。
エラー発生時、その解析をする人は必ずしもそのコードの作成者ではありません
解析する人は自分が作ってもいないコードを一から解読する必要が出てきます。
一から解読しますが、ほとんどのコードはエラーとは無関係なコードです。
エラー発生箇所の範囲絞り込みに、そこまでの時間はかけていられません。
コメントを書いておくことによって、エラーに関係するコードの範囲が一目でわかるため、作成者でなくとも素早く解析できます。

少なくとも、各該当コードの上部に以下のコメントは必ずを入れましょう。
・どんな機能を持ったクラスか?
・どんな機能を持ったメソッドか?
・この分岐は何を判断しているのか?
・各分岐で、どのような処理を行うのか?
・エラーや例外はどのような場合発生するのか?
・エラーや例外発生時はどのように振る舞うのか?
・(APIを使用する際は)どのような機能を持ったAPIなのか?
終わりに
いかがだったでしょうか?
まずは、お仕事のプログラミングの特徴の一部を記載してみました。
ただ、各企業によって方針などは違うと思うのでそこは企業の方針に従ってください。
(今回記載した内容は、どの企業にも当てはまることだとは思いますが)
需要あれば、また続きを書きたいと思います。
プログラミング初心者向けのオススメの本は以下です。
![]() | 仕事ではじめるプログラミング研修前の基礎の基礎 エンジニア「確実」養成講座Ver.1.0 [ 谷尻かおり ] 価格:2,728円 |
![]() | 「ひとり情シス」虎の巻 仮想環境とプログラミングスキルで実現 実話で学ぶITエンジニアの理想の仕事術 価格:2,420円 |
初心者用といえども、今回記載したようなことの他にも色々なルールがあることが見えてきますよ。
以上です。