同じ形を見つけよう

龍野プログラミングクラブはJR本竜野駅2階多目的室で定期開催しています。教材にそって進めるスタイルで運営しています。

タッチタイピングの練習

わたしが運営するクラブでは、かならずタッチタイピングを練習します。タイピングに意識を削がれずに、本来力を注ぐべき考えることに集中してほしいからです。

タッチタイピングで使うツールは、無料タイピングと寿司打です。

無料タイピング https://manabi.benesse.ne.jp/gakushu/typing

寿司打 https://sushida.net/

彼の場合、右手がどうも苦手みたいなのです。移動する量が多いので、ホームポジションに戻りきれていないのが原因と思われます。さてどうするか、右手だけを集中的に練習することにしました。

よい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文や関数、クラスでまとめるときにも役立ちます。同じ形、似た形を見つけることは、かなり大切な技術です。