こんにちは!好奇心おばけのかわそん (@KKohey4)です!
本記事の内容
- コピペでも力はつく
- コピペの仕方にも「コツ」がある
- 写経との使い分け
この記事を書いている僕は、年間50人以上にプログラミングを指導しています。
その中で、時々「コピペ」に関して質問をもらうことも。
それに関して、共有します。
3分だけお付き合いを(`・ω・´)ゞ
目次
[事実]プログラミングでコピペしても十分力はつく[使い方に注意]
結論から。
上記の通り。
じゃあ、「正しい」ってどういうことか。
一言でいうと、
ことですね。説明します。
考えないコピペは意味がない
「ただコピペして動かす」
これは意味ありません。
というのは、シンプルに「自分で何も作れるようにならない」からですね。
例えば、画面に"hello world"を表示するプログラムをコピペしても、、helloっていう気持ちには、、、ならないかなと。
思考停止はNG。
✔️コピペの使い方
コピペは、「ブロックごとにテストする」ように使うと、効果あります。
かんたんなGo言語の例をみてみましょう。
import "fmt"
func main(){
fmt.Println("hello world")
}
最初にこのコードをみたときは、「??」ってなるかなと。
packageってなんだ?
importってなんだ?
そもそもこれないと、ダメなのか?
こんな感じ。
それを、下記みたいに、「切って」テストするようにすると、効果が出てきます。
//import "fmt"func main(){
fmt.Println("hello world")
}
すると、
fmt.Println()
にエラーが出るはず。
つまり、
みたいな「予想」が生まれるはず。
この予想がある状態で、「本当のimportの役割」と比較すると、印象に残りやすいっていう感じですね。
✔️コピペでも動けばいいのでは
ここまで読んで、
って思う方がいるかもです。
完全に間違ってるという訳ではないのですが、、、これじゃ何も作れなかった昔の僕と同じです。
その教材を終わった後、
「さあ、自分が作りたいものを作ってみよう」
と思っても、、、いきなり手が止まるはず。
みたいな勉強では、ものづくりの力はつかないし、楽しくもないですよ。
残念ですが、いいことはないです。
コピペにはメリットがある
コピペにはいいこともいっぱいです。
大きくは3つ
- シンプルにラク
- 効率がよくなる
- 情報を集める範囲が広がる
上記の通り。
サクッと説明しますね。
✔️シンプルにラク
まあ、これはそのままです。
手打ちよりも、圧倒的にラクで、時間もかかりません。
ただ、「理解するための補助輪」としての役割を忘れるのがダメなのは、さっき説明しました。
✔️効率がよくなる
「ムダ」が少なくなります。
というのは、意味がわかってるコードとか、手で打つ時間をカットできますので。
例えば、htmlの雛形とか、、、いちいち書いてたら、それだけで日が暮れます。
これが、ベストプラクティスです。
✔️情報を集める幅が広くなる
これは、イメージつきにくいかもです。
コピペするクセがつくと、情報をたくさん集められるようになります。
コピペしてダメなら、次の情報を試す
それもダメなら、次を探す
みたいな「試行回数」が増えるので。
試行回数が増えれば、成功確率も上がる。
もちろん、全部とはいいませんが、知らないコマンドを見つけた時に、ググっておくと知識も増えますし。
そのままコピペしても動かないことが多い
そもそも論ですが、、、
ネットで見つけたコードをコピペしただけでは動かないことが多いです。
というのは、今自分が作っているアプリに合わせて、書き換える必要があるからですね。
例えば、見つけた関数名が被ってるかもだし、CSSなら対応するクラス名が違うかもです。
✔️結局、考えることからは逃げられない
つまり、コピペするからといって、考えないで済むっていう訳じゃないです。
上記みたいに、
全く考えずにコピペしても、コピペしてからは考える方が自然。
そのコードを読むことになるので、思考もセットになるはず。
✔️プロでもコピペする
「いけるかも」
って思ったら、プロでもコピペしてます。
前お世話になってた会社のCTOの方との会話で、
こっちの方が良さそうだから、コピペして、適当に調整しておいて〜!」
って言われましたし。
先人の知恵を、借りましょう。
プログラミングでは写経とコピペ、どっちがいいのか
結論は、
→コピペ
プログラミングには慣れてない
→写経
このあたりは賛否が分かれるところだとは思いますが、少なくとも僕の意見としては、上記の通り。
プログラミングに慣れてるなら、コピペ
コードを書くのに慣れてるなら、コピペでOKです。
というのはこの段階なら、
学習のスピード感を重視しても質は落ちづらいからですね。
コピペしても、重要なことは見落としません。
本質のところは、コピペしつつもチェックできるはず。
それを継続すればOKです。
プログラミングに慣れてないなら、写経
コードに慣れてないなら、写経からです。
理由は2つ。
・プログラミングの「空気感」を感じる
上記の通り。
まずは、プログラミングっていう場に慣れる必要があります。
慣れつつ、成功体験を積むべき。
✔️最初の一歩は「理解」しなくてOK
下記のツイートをご覧くださいませ。
下記のツイートをご覧ください。
やっぱりプログラミングで自走するために重要なのは、「小さな成功体験」だと思う。
出足で挫かれたり、勉強って考えてイヤイヤ始めても力もつかないし、気力も続かない。
だから「プログラミングやったことないけど、興味あるからとりあえず情報系に行っとこう」っていうのは間違い。まず失敗する— かわそん@Blog Life (@KKohey4) July 25, 2019
最初なら、
「自分、意外といけるじゃん」
みたいな「成功体験」から入るべきですね。
理解に比重をおくと、
たぶん、挫折しますので。
この辺りは、プログラミング初心者の挫折を防ぐ3つの方法[実体験から考えます]でお話しています。
まとめ:コピペをうまく使って、勉強を加速しよう
記事のポイントは、下記です。
- コピペでも力はつく
- あくまでも「理解の補助輪」
- メリットは5つある
- コードに慣れてるならコピペ
- 慣れてないなら写経
こんな感じですね。
コピペする場所と、避ける場所
切り分けてみてください。
頭ごなしに
「コピペはダメ」
っていう訳はないですよ。
では、以上です。
この記事が少しでもお役に立てたなら、幸いです。
✔️参考