1. プログラミング思考のいくつかの特徴#
-
問題の分解
- 大きな問題を小さな問題に分解し、一歩ずつ解決する
-
MVP の構築
- 「動き出してから考える」。初歩的な実行可能なプランは私たちの方向性を検証し、自信を高める。
-
ステップテスト
- 各ステップで対応するテストを行い、すべての作業が完了するのを待たない。そうしないと、問題を発見したときに最初からやり直さなければならないかもしれない。
-
自動化
- 繰り返しのある、大量の作業は人間の得意分野ではなく、プログラムに任せる方が適している。
-
ログ記録
- 記憶は信頼できない。ログだけがすべての情報を忠実に記録し、問題の特定を容易にする。
2. 「滴滴打車行程単」を例にした行程データのまとめ#
2.1 問題の分解#
問題:経費精算書を記入する際、行程と金額情報を行程単から bos システムに一つずつコピーする必要があり、操作が非常に煩雑で、PDF から内容をコピーするのは簡単に間違える。
よく考えると、これはプログラムが最も得意とする仕事ではないか?自分を苦しめる必要はないのでは?
やると決めたらやる:
ニーズを分析する:行程単の PDF から対応する時間、場所、金額などの情報を取得し、固定テンプレートの Excel シートに出力する。
すべての PDF フォーマットは固定されており、エクスポートする Excel フォーマットも固定されている。したがって、プログラムが完成すれば、すべての滴滴行程単に適応できる。
2.2 MVP の構築#
私は AI プログラミングツール Trea を使用して、より迅速にコードを構築します。これは字節跳動が提供する国内初の AI IDE で、中国語の開発シーンを深く理解しています。
まず、コードファイルを保存するためのフォルダを新しく作成し、滴滴行程単の PDF ファイルをそのフォルダに保存します。そして、Trea でこのフォルダを開きます。
次に、Trea の右側のダイアログを Builder モードに切り替え、以下の指示を入力します。
行程単の PDF から対応する開始時間、開始地点、終了地点、金額情報を取得し、それに対応する内容を端末に出力してください。
まず、対応するデータを取得できる MVP を構築します。明らかにこの小さなニーズは AI にとっては小さなケースです。1 分もかからずに初歩的なコードが書かれ、私が望む効果が出力されました。これで端末で必要なデータをコピーするのがずっと楽になりました。当然、これは私が望む最終結果ではありません。
2.3 ステップテスト#
次に、AI に指示を入力します:
出力された内容を Excel ファイルとして保存したいです。
すぐに、AI はその仕事を完了し、私の想像を実現しました。
しかし、これで終わりではありません。私は Excel ファイルのフォーマットに要求があります。次に、必要な標準 Excel サンプルファイルをフォルダに直接置き、AI に伝えます:
提供した Excel ファイルに基づいて、出力する Excel ファイルのフォーマットを調整してください。
すぐに、私が望む Excel フォーマットが実現しました。
しかし、出力された Excel にはまだいくつかの点で私の要求を満たしていません。出力される Excel の各項目を開始日付と時間の昇順に並べたいです。再度 AI に要求します:
出力された Excel の各項目を開始日付と時間の昇順に並べてください。
このように、ステップごとのテストと調整を繰り返し、最終的に私が必要とする「小プログラム」が実現しました。
2.4 自動化#
このプログラムは自動化の方法で、私を煩雑な行程単の記入作業から解放してくれます。調整に数十分かかり、経費精算の時間を取られましたが、その後の作業で確実に多くの手間を減らしてくれるでしょう。
2.5 ログ記録#
プログラミングにおいて、git ツールは非常に良いログ記録です。コードの更新ごとに対応するログが記録されます。
この記事も私のこの試みのログ記録の一つです。
3. 最後に#
プログラミング思考は私たちの仕事に必要な重要な思考方法であるべきです。単にコードを書くためだけでなく、問題の分解能力は私たちが「大きな問題」に対処するのを助けます。MVP は私たちが問題解決の初歩的なモデルを構築するのを可能にします。ログ記録は私たちが解決手順を振り返り、より良い経験をまとめるのを便利にします……
4. 脱線#
久しぶりに何かを書くことになりました。やはり頭を使って記録する必要があります。