プログラミングが得意になったのは、きっと、めんどくさいのが嫌いだったから。めんどくさいことをなくすように、スキルを覚えたら、プログラミングが好きになれて、最終的には得意になりました。今日はその4つの技を紹介します。
めんどくさがる気持ちがだいじ!
30年くらい前、山一證券に入社したあと、システム部門に配属になって、ユニシスの汎用機で開発してたときの話です。
その頃の汎用機は、マウスとかなくて、全てがコマンドベース。ファイルの中身を見るのにも短いプログラム書いてた感じ。「信じられん」って感じですよね。
まわりの人達が鬼のようにコーディングしているのを見て思ったのは、なんで決まりきった部分のコードまでいちいち毎回タイプするんだろう?それって枕詞とか、なにかやる前の決まった儀式みたなもん、コピーでいいでしょってこと。
ただ、その頃のプログラムエディタってめちゃ原始的で、コピペ的な作業さえもコマンドたたかなくてはならなかったりして、コピペ自身の難易度が高かったというのはあります。マウスとかついてなかったですから。
ちょっと面倒に思えるけど、これ覚えるとめちゃ楽できる? と思ったので、エディターのマニュアルを必死に読んでいろんな編集機能を憶えましたよ。案の定、書くのがはやくなって、エラーも出にくくなって、プログラム全体の構成を考える癖もつきましたね。
これってだいぶ昔の話なんですが、「作りかたやアイディアしだいで、まるっきり効率が変わる」という重要な話だし、大事な体験でもあるんです。「効率化で差がつく、どうやって効率化できるかを考えるのも楽しい」って体(頭?)が憶えてしまえば、行動もできるようになるんです!
それは、「これやったら、めちゃ早く書ける」って、はっきりとイメージできるようになるからなんです。100%うまくいくと思ってやる作業になると、いわゆる「ゆるゲー」って状態になります。
今って恐ろしく、使いごたえのあるツールが沢山あるので、昔よりずっと、学習効果ありますよ、ただ選択肢が多すぎて、ぶっちゃけ選択するのがスキルになる部分はありますね。それはそれで難しいのかな?
という事で、いきなり結論ですが、プログラムする人がほぼ必ず使っているVisual Studio Code(VsCode)をはじめとする、いわゆるIDE(統合開発環境)に関する大事な学習ポイントを4つ紹介しておきます。
① 便利なショートカットを探して、憶えて、自分でも登録しよう!
ショートカットとは「コピーはCntrl + C」とか、キーの組み合わせで、いろんな事をやる機能です。僕はこの研究にとても時間をかけます。登録されている機能を順番に使ってみて、厳選してく感じですね。
プログラム書いてて、これめちゃめんどくさいって思ったら、それに対応するショートカットは必ずあると思って良いです。探しましょう!
moveとかcopyとかコマンドに対応するキーワードで検索できますから、どんなショートカットがあるかをまず一通り調べて、実際使ってみて便利かどうか確認しましょう。わりと地味な作業ですが、効果100%と思ってがんばりましょう。
あと、自分が覚えやすい組み合わせとか、タイプしやすい組み合わせにキーの組み合わせを変更してみましょう。これで快適さがさらに増します!
② スニペット機能を厳選して、書く心地よさを体験
スニペットっていうのは、3文字とか少量のコードを打ち込むだけで、30文字とか大量のコードがぱっと入力できる機能で、HTMLなどの冗長になりやすい言語、儀式みたいな文や、枕詞的なものはこの機能を使うと一瞬でタイプできるので、全く気にならなくなります。
あと、({ < %とかタイプミスしやすい記号で構成されるフレーズも、スニペットにすると、らくにタイピングできるのです。指にも優しい!
僕は、指が短くて、キーボードの隅っこにある、記号をタイプミスしやすいから、この機能にめちゃ時間かけます。
ただ、スニペットを厳選する作業がかなり、知的な作業なので、身につくまでは結構あたま使うし、試行錯誤したりします。ただ、使いこなせるようになったら、コーディングがめちゃ楽しくなりますよ!
長いコードを数分で間違いなくコーディングできる快感が100%味わえます!
③ エラーを調べる技、時間を節約する最強技 (上級技)
具体的にはデバッグ機能というもので、エラー箇所の前後でプログラムを止めて、具体的なエラーの内容を調べることができる機能です。「エラー解決の時間」って開発時間に直結するので、この機能を極めることが最も大事じゃないかっと思ってます。
プログラムで陥りやすい罠は、「ロジックから、どうして動かないのか考えること」です。このIFの入れ子がこれで・・とか。。。
もっともなんですが、エラーが止まったところで変数の値などをきちんと調べれば、エラーが起こるロジックはおのずとわかるんです。事件の原因は予想するんじゃなくて、防犯カメラの映像をみて判断するって感じです。
決まった条件で止めるとか(条件ブレークポイント)、変数の値がどう変わるのか(ウオッチ機能)とか、止めたところでコマンド叩く機能とかがわかれば、ある意味考えなくても良いのです。
このスキルって、「人の書いたプログラムのバグに突き当たったとき」更に威力を発揮します。だって、人の書いたプログラムって、わかりにくいこと多いですからね。このスキルがあるかないかで段違いに効率が変わってきます。
重要技術だけに、このスキルは慣れるまで、時間がかかるかもしれません。
ただ時間がかかっても必ずマスターしたほうが、ゆくゆくは見返りが大きいです! まちがいない。
④ 整理、書き直し、リファクタリングが気持ちよさを増強!
こちらはプログラムの整理整頓技ですね。1000文字のコードを200文字くらいで5つに分解して、わかりやすくするとか、aとかbとかわけのわからない文字を myCodeとか myMailAddressとか意味のわかりやすい名前に変更するとかです。
この機能については、先程のショートカット機能にいろんな機能があらかじめあるので、そちらを探してつまんで使いこなすという感じです。
見つけて、使いこなすには根気も必要なんですが、これができるようになると、ちらかった部屋を片付けたあとの気持ち良さを感じることができるのです。
更に、知的作業なので、うまくできると頭も気持ちよくなります!
まとめ
ほとんど、具体的なことは書いてませんが、先程述べたことができればできるほどに、確実にプログラムは心地よいものに変わっていくのです。
4つがきちんとできれば、あなたはプログラム上級者。上位10%には入っていることでしょう。
意識して、やるかやらないかだけ。
プログラミングは楽しいし、趣味としても良いですよ。がんばりましょう!