コピペは最強のプログラミング術です。
ネットで調べたプログラムを簡単に使用することができ、達人レベルの人が作成したプログラムを新人でも作成することができます。
ただし、何も考えずにコピペしているといつまで経ってもプログラミングが上達しない落とし穴に嵌まるので気を付けてください。
プログラミング学習中の方や、新人プログラマー、コピペプログラミングでなかなか上達できない方は参考にしてください。
コピペプログラミングは悪?
コピペプログラミングが悪だと言っている方の多くは、コピペプログラマーが処理の内容を理解せずプログラミングしていることを懸念しています。
悪いコピペプログラムには不要なソースコードが多く、作成したプログラマーでも何をしているかわからず、修正する際に必要以上に時間がかかってしまいます。
ポイント
とはいえ、コピペプログラミングを推奨しない方もすべての文字をタイピングしているわけではなく、必要な部分はコピペしている場合が多いです。
小ネタ
テレビでありがちな、キーボードを打ち続ける天才プログラマーは見たことがありません。
コピペに問題はない?
一般にネット上で公開されているソースコードは、サンプルとして提供されていることが多いのですが、プログラムソースコードは著作権法で保護される対象なので使用可能か必ず確認してください。
技術的な Q&A サイトにもたくさんのサンプルコードがあるので、有効活用させていただきましょう。
注意1
プログラムのソースコードは著作権法で保護される対象となっていますので、製品として販売されているものや、他企業のソースコードは、使用許可な場合のみ使用してください。
注意2
学校等で課題提出する場合はコピペしていることがすぐにばれますので、必ず自分なりのアレンジを加えてください。
コピペの悪い例
コピペプログラミングの一番悪い例は、「とりあえず動いた」で終わらせてしまうこと。
コピペプログラミングをしていると、なんとなくコピペしたプログラムでも動作してしまうため、完成したと錯覚してしまうことが多くあります。
重要!!
プログラムは動くことが当然で、想定通りに動かすことが要求されます。
ポイント
プログラミングスクール等では、時間内に講義を終わらせる必要があるため、どうしても教材のプログラムをコピペして進めることが多くなります。
コピペプログラミングの動作確認で満足せず、復習して理解を深めることが上達の近道です。
コピペプログラミングを推奨する理由
プログラムを作成する際、諸先輩方からコピペプログラミングを推奨されることがあります。
私も新人社員にプログラミングを教える際にはコピペを推奨しています。
コピペプログラミングを推奨する理由は以下となります。
短期間でのプログラム作成
コピペプログラミングを推奨する理由としては、短い期間で多くのプログラムを完成させなければならないため。
業務でプログラムを作成する場合、決まった納期までにプログラムを完成させる必要があり流用可能なソースコードをできるだけ利用し、短期間のプログラムを目指すことになります。
ポイント
ある程度の経験者であれば、既に作成されているプログラムを見れば想定する動きが想像できるため、自分が過去に作成したソースコードや、他者が作成したソースコードをコピペする方が圧倒的に早いです。
品質の良いプログラム作成
動作検証の済んでいるプログラムは多くのテスト工程を突破したものが多く、正しく流用することができれば不具合が少ない品質の良いプログラムが作成できます。
また、同一プロジェクト内でのコピペプログラミングは、ソースコードが統一され、不具合箇所の特定や修正が容易となり品質の良いプログラムとなります。
プログラミングレベルの向上
新人社員や経験の浅いプログラマーの場合、上級者が作成したプログラミングを参考にすることができ、意味を理解することができればプログラミングレベルが格段に上がります。
プログラミング技術は日々進歩しているため、上級者でも参考サイト等を検索すると新しい発見があります。
コピペプログラミングで気を付けること
コピペプログラミングで気を付けることは、正しく処理内容を理解することです。
ポイント
まずは細かい記述方法ではなく処理の流れ、処理の内容に注目してソースコードを確認してください。
「どのような条件で処理が分岐され」、「何を作成、更新しているか」を見ることが重要です。
上級者といえど、プログラミング言語の中身まで理解している人は少なく、プログラミング言語で提供されている処理を利用しています。
自分の扱う範囲の処理を理解して応用することで、大規模な開発でも通用するプログラムを作成することができます。
処理の流れがうまく掴めない方は、こちらの記事が参考になるかもしれません。
ありがちな落とし穴
業務上で作成されるスケジュールは、ある程度経験を積んだプログラマーが作成することを想定しています。
新人プログラマーや経験の浅いプログラマーがすぐに対応できるスケジュールではなくスケジュールに遅れが出ることもあります。
経験豊富なプロジェクト管理者であれば、プロジェクトのメンバーを見てスケジュールをうまく調整してくれるのですが、「とりあえずコピペして動かせ」というようなプロジェクトもたくさんあります。
これでは、新人プログラマーにも勉強にならず、作成されたプログラムも品質の悪いものとなり誰も得しません。
もちろん同じ期間で作業を依頼する側に問題があるのですが、作成する側も期間だけに縛られず、できるだけ処理を理解することを心がけましょう。
重要
期間に間に合っても、品質が悪いと評価が下がることもありますし、不具合修正に多大な時間がかかることもあります。
多少期間がオーバーしても、品質の良いプログラムが作成できれば、問題発生時の時間も取られず、最終的な評価も上がるかもしれません。
コピペプログラミングのやり方
実際にコピペプログラミングする方法をひとつ紹介します。
方法はひとつではないので、コピペプログラミングに慣れてきたら独自の方法を発見してください。
少し大きな塊でコピペする
コピペプログラミングする際は、プログラムの一部をコピペするのではなく、少し大きな塊でコピペした方が処理全体が理解できます。
処理全体を把握してから不要な部分を取り除くと、コピペ後にわけがわからなくなることが少ないです。
ポイント
また、途中で間違ってしまった際も無理に回復しようとせず、コピー元から取得すると二回目の作業となるので理解が深まります。
不要なソースコードを削除する
複数の場所からコピペしていると、同じような処理を複数回記述していることがよくあります。
また、コピー元のソースコードには、不要な部分が残っている場合もあります。
コピペ後にソースコードが整ってきたら、不要な記述がないか徹底的に調べてください。
不要な部分を残すと、メンテナンスする場合に混乱を招きやすく、ソースコードが汚くなります。
インデントを調整する
コピー元のソースコードにより、インデント (行の先頭にある余白部分) の文字や文字数が異なる場合があります。
インデントは、過去に作ったソースコードやネット上からコピペした場合にずれてしまうことがあります。
ソースコードをきれいに整えることで可読性も上がり、他プログラムへの汎用性も上がるため必ずインデント調整してください。
他プログラムへ転用する
理解したソースコードをさらにコピペするのは最強ともいえます。
他の機能や画面を作成する際に、既に理解しているソースコードをコピペすることで一日かけていたプログラミングが数分で完了することもあります。
まとめ
コピペプログラミングは悪いことではありません。
処理の流れ、処理内容を正しく理解することで大幅にプログラミングレベルをアップすることができます。
正しいコピペプログラミングで短期間で品質の良いプログラムを作成してください。