同じ形を見つけよう
龍野プログラミングクラブはJR本竜野駅2階多目的室で定期開催しています。教材にそって進めるスタイルで運営しています。
タッチタイピングの練習
わたしが運営するクラブでは、かならずタッチタイピングを練習します。タイピングに意識を削がれずに、本来力を注ぐべき考えることに集中してほしいからです。
タッチタイピングで使うツールは、無料タイピングと寿司打です。
無料タイピング https://manabi.benesse.ne.jp/gakushu/typing
彼の場合、右手がどうも苦手みたいなのです。移動する量が多いので、ホームポジションに戻りきれていないのが原因と思われます。さてどうするか、右手だけを集中的に練習することにしました。
よいWEBアプリがあったので、今日はそれで練習しました。
ですが、かんたんにタイピング練習アプリを作れたので、オリジナルを開発しようかと思います。最近わたしがハマっているのが、生成AIプログラミングです。生成AIで驚くほどかんたんにアプリ開発ができます。欲しいものは自分で作る、プログラミングの楽しみでもあります。
かゆいところに手が届くものは、最終的には内容をよく知っている自分が作らなければ、出来合いのものでは満足できません。
コピペして、違うところを修正するには、似た形を見つけよう
タイピングが速ければ、コードを速く書けるかというと、そうでもありません。人間はミスをします。タイプミスは必ずあります。
したがって、タイピングは最小限でいいのです。プログラミングは文学ではありませんので、全体の中に同じようなコードが登場します。それは、コピペして、差分だけ修正すればよいのです。
コピーする範囲の選択と貼り付け先の指定は、前回練習したとおりです。おおむね覚えていたので、あとは練習するだけです。
今日の課題は、似たような部分を察知することです。例えば下のコード、1行目と2行目がよく似た形をしています。
myrect = pg.Rect(50, 200, 40, 50)
boxrect = pg.Rect(300, 200, 100, 100)
であれば、2行目をすべて手入力するのではなく、1行目を複製して、差分だけ修正します。
要は、この2行を「似ている」と判断できるかということです。これは、字だけを追っていたらダメで、構造に注目します。変数への代入と、pygameを使って四角形を描くことと引数の数が一致しています。
この例は1行だけですが、複数行にわたる場合もあります。一部分に注目するのではなく、広く見ることが大事です。将棋や碁なら、大局観というやつです。
もちろんこの感覚は、for文や関数、クラスでまとめるときにも役立ちます。同じ形、似た形を見つけることは、かなり大切な技術です。