プログラミング初心者の方は、開発環境にとまどったり、慣れるまでつまづくことがたくさんあります。
初めてプログラミングでは、いろんなコードをコピペして動かすことが多いのも当然ですよね。
しかし、その結果、他人のソースコードを真似してコピペばかりに頼ってしまいクセがついてしまい、自分の頭で考えてプログラミングができないコピペプログラマーになってしまう人がいます。
この記事ではコピペプログラマーにならないためにはどうすればいいのか?
またコピペプログラマーからの脱出する方法について解説していきます。
普段、プログラミングを学習していて、ついついコピペばかりしてしまっているプログラミング初学者の方は、この記事を参考にコピペプログラマーからの脱却を図りましょう。
・ソースコードの意味をきちんと理解し、コピペするのはOK
・ソースコードの意味をきちんと理解せずに、コピペするのはNG
なぜコピペプログラマーがダメなのか?
説明ができないプログラマ
大規模開発のシステムでは、プログラマーは自分が担当したソースコードが正しくプログラミングできているか、設計担当のSEとソースコードレビューを実施します。
ソースコードを理解してコピペしたのであれば、きちんと説明もできて問題がありません。
ソースコードのチェックを受けた場合、大抵の場合、必ず質問を受けることになります。
例えば、「なぜ、この部品に対してこのパラメータを設定しているのか?」とSEから問われたとき、
事前に調査したこと、理解していることをSEに説明できなければなりません。
チェックするSEの立場から見ると、質問にきちんと答えてくれない場合、そのプログラマーが単にコピペしただけで、「内容を精査していないな?」と疑いを持つわけです。
プログラミングしたソースコードに対して自分の頭で思考・整理できているかが重要なポイントになります。
できるプログラマーは、コピーしたソースコードを必要に応じてきちんと仕様に沿って適切な修正ができており、理論整然と説明してくれるのです。
つまり、自分で書こうとすれば書けるコードを、コピペして時間を短縮させ生産性をきちんと上げているのです。
さらには、参考にしたソースコードの不具合まで見つけてくれる優秀なプログラマーもいます。
バグを作りこんでしまうリスク
ソースコードが読み解けていない状態で、コピーしてしまうことでバグを作りこんでしまう確率が高くなります。
テストして、コピーした箇所が正常に動作しなかった場合は、まだ不幸中の幸いです。
最悪は、まるまる処理をコピペしているために、処理の仕様すら理解できておらず、バグに気づかない、対処できないリスクが発生してしまうのです。
またソースコードの全体像を理解していないため、他人が見てもわかりづらいコードを作りこんでしまい、維持メンテナンス性が損なわれてしまうことにもなりかねません。
コピペプログラマーからの脱出
茶道や剣道などにおける修行の段階を表現した「守破離」という言葉があります。
この「守破離」の考え方は、プログラミングにも良く当てはまります。
「守」は、プログラミングの最初のステップで、教えられた型どおりに忠実に型をなぞり基本を学ぶことです。
「破」は、もう一段階進み、基本を守りつつ、基本を応用させてオリジナルのスタイルを模索する。
「守」から「破」に進むには、
- ソースコードの意味を一行一行、読み解く。
- ロジックを組み立て設計する習慣をつける。
- アウトプットの作業を積み重ねる。
- 基礎力を大事にする。
ソースコードを深く読み解くには、基礎力が大事です。
自分の頭で考えられずに思考停止になって人は、基本に立ち返り、プログラミングの基礎である基本的なアルゴリズムをしっかり学びましょう。
理解すること、考えることを重視してください。
コピペしたのであれば、ソースコードは1行1行必ず理解するようにしてください。
コピペした内容が、設計書の仕様と整合性が取れているのか確認しましょう。
ソースコードをコピペするメリット
ソースコードをコピペすることは、決してダメなわけではありません。
実際に普段の開発現場では、ソースコードのコピペは行われています。
大規模開発であればあるほど、完全に1からソースコードを書くことはほとんど稀でしょう。(既に似たような処理、プログラム資産があるため、それをうまく使って効率化することが多い)
・開発効率が上がる(これにつきます)
まとめ
開発現場でも新入社員や経験年数の浅いプログラマーは、ただソースを見よう見真似でコピーしてしまい、処理の内容を理解していない人が多いです。
処理の内容を理解できていないので、当然、テストを実施してもエラーやバグが発生した時に対処できません。
プログラミング初心者の方は、コピペしても処理内容は理解するように学習していきましょう。
・ソースコードの意味をきちんと理解し、コピペするのはOK
・ソースコードの意味をきちんと理解せずに、コピペするのはNG
最後までお読みいただきありがとうございました。