第8章. コーディング
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
この章では、便利なコーディング・テクニック を紹介する。まずはコーディングの基本である、関数やクラスを使いこなすことから始めよう。それから、コードのリファクタリングで手を汚して、ごちゃごちゃしたコードを整理して、よりスムーズに動くようにする。また、データの扱い方や作成方法も紹介する。そして、汗をかかずにおしゃれなフロントエンドを作成するのに役立つAIツールをチェックしよう。
リアリティ・チェック
AI支援プログラミング ツールはかなりクールだろう?しかし、冗談はやめておこう。コーディングの問題をすべて解決してくれる魔法の杖ではない。なぜか?まあ、これらのツールは、公開ノートからしか学ばないクラスの生徒のようなものだ。彼らはインターネット上のコードの寄せ集めで訓練を受けており、正直に言おう、そのすべてが一流というわけではない。これはあなたにとって何を意味するのか?時には、感謝祭の七面鳥よりも肥大化したコードや、カードハウスのように保守性の低いコードが送られてくるかもしれない。さらに悪いことに、ハッカーやネットワークリソースの占有に対して門戸を大きく開いてしまうこともある。
ChatGPT が面倒なコードを生成した例を見てみよう。図8-1は2つのソートリストを1つのソートリストにマージするコードである。
図8-1. ソートされた2つのリストをマージするように要求されたとき、ChatGPTは厄介なコードを作成した。
このAIが生成したコードは2つのリストを正しくマージしているが、冗長なアプローチをとっている。空リストのケースを別々に処理し、さらに2つのwhile ループを使ってそれぞれのリストの残りの要素を追加している。
ここがコーディングの腕の見せ所だ。基礎を知らなければならない。どんな質問をすればいいのか、どこをつつけばいいのかを知っておく必要がある。
図8-2は、より良いアプローチを示している。
図8-2. 人の手を借りて、ソートリストの結合をより良い方法で行えるようになった。
だから、ロボットが開発者の仕事を奪うという悲観的な話を聞いても心配する必要はない。確かに、これらのAIモデルは常に良くなっている。学習し、成長している。しかし、プログラミングのすべて、そして終わりにはまだほど遠い。プログラマはまだゲームの中にいるのだ。AIが支援するプログラミング・ツールは非常に便利だが、生身のエンジニアの知識やノウハウに取って代わるものではない。
このようなシステムを使うときは、「これは共同作業であって、引き継ぎではない」ということを忘れないでほしい。鋭さを失わず、好奇心を持ち続け、これらのAIツールが提供するものすべてを再チェックすることを忘れてはならない。彼らはヘルパーであって、ヒーローではないのだ .
ジャッジメントコール
時には、AIが支援するプログラミング・ツールを使うのではなく、 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access