エンジニアコラムminittoコピペプログラマーは悪か?爆速で成長するプログラムコピペ方法の秘密ツイートシェアはてブ送るPocketどうもです!わだっしーです!今回は「コピペプログラミングで成長する方法」について話していきます。現場のコードで使ったりすることって出てくると思います。それでは超えられない壁というものが出てきます。自分で書いたコードだけれども、いまいちよく理解していないからバグっても自力で直すことができない。エラーが出ているのにその理由が自分で全くわからない。なんことになりかねないのです。一つ一つ理解しながらコーディングを進めていたら、いつまでたっても完成しない。前に進んでいる気がしない。そんなジレンマを抱えている人は多くいることでしょう。今回はそんなコピペに悩めるプログラマーの最強コピペ成長術について書いていきたいと思います。半強制的に実用的なレベルで他人の技術を盗むという点では、どんなスキルにおいても通用するので、この考え方をマスターして爆速で成長するための方法を学んでいただければと思います。プロの技術も俺のもの。稼ぐエンジニアの考え方を凝縮した電子書籍をプレゼント中コピペが悪手となるパターン本題に触れる前にまずはこれだけはやっちゃダメ!っていうコピペについて共有したいと思います。それはパソコンのコピー&ペースト機能を使うということです。実際にコピペするのなら良いのです。完全に理解していないのであれば、そのコードがどのような処理で動くのかを論理的に理解していないのであれば、それは単純なコピペは絶対にやってはいけません。技術者としてやってはいけないことだと思っていて、なんとなくの理解で済ませてはいけないのです。問題が出た時には取り返しのつかないことになっていたり。なんてことになりかねないのです。自分の書いたコードの意味を理解していません。コードを1行ずつ精読し、理解するということをしていません。最低でも実際に自分の手で模写することをオススメします。処理の流れを読んで理解できないパターンとして、プログラムを1行ずつちゃんと精読していない、というパターンが大半なので、1行ずつ手で書き写すということは、1行1行の意味を考えるきっかけになります。少なくとも読み飛ばしたりすれば、プログラムは模写することができませんし、そもそもプログラムを動かすことすら困難です。読むことに慣れるという意味でもかなり良い方法だと僕は思っています。血肉にするための方法を話していきます。僕は全く逆だと思っています。やり方次第ではプロの技術を自分の指先に宿すことも可能になりますし、それこそが最速のスキルアップ方法だと信じています。自分自身に天才的なプログラミングスキルがあると思っているのであれば別ですが、そうでないのであればこのコピペ術は最強だと思っています。大きく2通りのパターンがあります。さっきこんなJavaのコードを見つけてきました。2つの配列a1[]とa2[]を併合してa[]を作ります。2つの配列a1[]とa2[]を併合してa[]を作ります。a){mergeSort(a);}マージソートというソートアルゴリズムがJavaで書かれています。わからない人は「効率的なソートをするためのアルゴリズム」というように思っていてください。これをRubyで書くとこんな感じ。2つの配列a1[]とa2[]を併合してa[]を作ります。生成することで、データのソートを行います。2つの配列a1[]とa2[]を併合してa[]を作ります。生成することで、データのソートを行います。5]に並び替えられましたね。強制的にどう使うのか?ということを理解せざるを得ないのです。僕はこれを書くときRubyをほとんど書いたことがなかったのですが、Rubyの勉強としていい体験をしたなと思います。非常にオススメの方法になります。次に「実用コードに書き換える」ということをやっていきます。僕は最近Rubyを勉強し始めたので練習として、もっと応用したコードを書いていきたいと思います。お題は、どうしようかな。社員情報が書かれたCSVファイルをID順でソートするというのをやってみたいと思います。先頭のIDの順番がバラバラですね。2つの配列a1[]とa2[]を併合してa[]を作ります。生成することで、データのソートを行います。2つの配列a1[]とa2[]を併合してa[]を作ります。生成することで、データのソートを行います。line}ソートの出力結果はこちら。ID順にソートされていますね。実際にリアルで使いそうなデータのソートに応用してみました。現場で使えるレベルまで落とし込むということをやっています。忘れなくなりますし、コーディング速度も段違いにアップしていきます。余力のある方は挑戦してもらえればと思います。コーディングは単純作業なところもあるので、こういった面倒なことはどんどん自動化していきたいですね。自動化まで行ければ上級者への道も近いでしょう。プロの技術も俺のもの。自分の技術にする方法を紹介してきました。役に立つので練習としては非常によかったです。「これすげぇ!!」っていうものを対象にするのがベストです。現場でマジで神がかったPerlコードを書く人がいたので、その人のコードをコピペして、その人のコーディング技術を自分の手にインストールしてきました。圧倒的なコードのわかりやすさというのが非常に優れていました。片っ端からその人のコードを模写していました。こんな感じでそのプロの技を身につけてきました。実際の現場では18ML(1億8千行)規模のシステムを僕1人で保守・運用をしていたりします。模写したところが本当に大きいなと思っています。自分の実力以上の力を身につけるならやっぱりパクリだなと。一参考になれば良いのかなと思って今回の記事を書きました。独学でどこまでも突き抜けることができますし、プログラミングだけでご飯を食べることも可能です。身につけていて損はなかったなと思っています。僕はシステムエンジニアとして年間6000万円以上売り上げています。昔から超がつくほど要領が悪いです。心から尊敬する先輩や上司から影響を受けて、エンジニアとして成長することができました。普通の人よりもたくさん失敗してきて、それをガソリンにして結果にフォーカスしてきました。成長して理想の自分を手に入れられると信じています。今は同じ道を志す仲間を1人でも多く増やして、エキサイティングでより生産性的な社会を作っていこうと夢見ています。結果を出すにはどうしたら良いかを体系的にまとめた電子書籍を作りました。僕のストーリーも交えて作っていて、20分程度でサクッと読める内容なので、もし興味があれば読んでみてください。→電子書籍『エンジニアという生き方で人生をデザインする。』メールアドレスを入力すれば、受け取れます。最後まで読んでいただきありがとうございました。この記事が役に立った!と思われたらSNS等でシェアしていただけるとすごく喜びます。コメントをキャンセルメールアドレスが公開されることはありません。現役SEが初心者が挫折しないプログラミング勉強法を語ってみる。RECOMMENDこちらの記事も人気です。2018.12.9学生と話して思った日本のレベルの低さ。2018.12.9もし文系の人全員がプログラミング出来たら理系全滅しちゃうでしょ。最近の投稿とりあえず3年やってみる思考は成長速度を1/3にしていると思う理由とは?2019.01.21努力至上主義者だった僕が日々の業務計画で努力せず同じ結果を出せるようになった手帳術2019.01.19コピペプログラマーは悪か?爆速で成長するプログラムコピペ方法の秘密2019.01.19現役SEが初心者が挫折しないプログラミング勉強法を語ってみる。2018.12.30意識が低い人ほどプログラマーは向いている!?意識の低さと生産性の話2018.12.10最近のコメント現役SEが初心者が挫折しないプログラミング勉強法を語ってみる。現役SEが10分であなたにウェブページを作らせてみせます。