
名前を隠して楽しく日記。
タスクタイプのENUMとタスク内容のStringと日付をDBに保存するコマンドプログラムを書いて タスク内容はタスクタイプによっては固定になる場合と任意のStringの場合がある
これで下のようなものが出たがENUM側に持たせてるので言い方の問題だと思うよ
public staticvoidmain(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Task type:");
for (TaskType type : TaskType.values()) {
System.out.println("- " + type.name());
}
TaskType taskType = TaskType.valueOf(scanner.nextLine().trim());
if (taskType.hasFixedContent()) {
taskContent = taskType.getFixedContent();
System.out.println("Task content fixedas: " + taskContent);
} else {
System.out.print("Enter task content: ");
taskContent = scanner.nextLine();
}
System.out.print("Enter taskdate (yyyy-MM-dd): ");
LocalDate taskDate = LocalDate.parse(scanner.nextLine());
Task task = new Task(taskType, taskContent, taskDate);
System.out.println("Task saved successfully.");
}
}
DAILY_REPORT("Daily report submission"),
MEETING(null),
MAINTENANCE("Systemmaintenance task");
privatefinalString fixedContent;
TaskType(String fixedContent) {
this.fixedContent = fixedContent;
}
public boolean hasFixedContent() {
return fixedContent != null;
}
publicString getFixedContent() {
return fixedContent;
}
}
小さいことならパッと決めてもいいと思うけど
石橋を叩いて叩いて叩いた挙句、やっぱりやめよ!って引き返すタイプなんだけど
もうなんでもいいから渡るべきで、何も考えずに行けばいいんだよね本当は
もう少し自分を信じてみてもいいんだろうな
来年は、大胆に、考えすぎないように過ごしていきたいな
まあなあ。少子高齢化放置し続けた時点で衰退がおおむね運命づけられたな。
引数には日付とタスク種類とタスク内容を受け取ってDBに登録する
ここでタスクの種類によってはタスク内容が固定の内容になる、という条件があったとする
これをAIコーディングするとかなりの高確率でスケジュール登録の関数内にその機能を入れ込む
タスクの種類によってタスク内容が固定化するのは、スケジュール登録とは無関係の制約なので
スケジュール登録は単機能として実装して、呼び出し側でそういう制約を持つようにしてくれ、とお願いすると修正したりしなかったりする
この例だけだと「どっちでもいいじゃん」ってなりそうだけど、他の制約とかが出てきたときに同様に関数にどんどん条件を足していって
いわゆる大学生が実験で作りそうな長尺関数が出来上がりがちになる
これ、AIが短期記憶と長期記憶には強いけれど、「関数で呼び出す」みたいな中期記憶的な部分が弱いから起きると思っていて
この手の関数実装の例に限らずに同様の事象って結構あるんだよね
プロンプト全体として「スケジュール登録する」「タスク種類によって内容は固定化される」っていう長期記憶は持ってるんだけど
それを実装するときに短期記憶でしか実装できないから目の前の関数に埋め込んでしまう、っていうような現象
もちろんキチンと指示すれば対応してくれる(なぜか頑なにやってくれないときもある)んだけど
バイブコーディングとか言って実装してるとこの手の長尺関数だらけのクソコードが溢れるんじゃないかと思う