第19天是 @kokusin 的 特定的字詞反應後隨意播放的糟糕應用程式。這篇文章真的火得不得了。
對於不熟悉程式設計的人來說,這看起來或許有點炫酷,但對於懂程式的人來說,這種「山寨程式碼」有時顯得奇怪,有時卻又不是那麼回事,這種設計在日常中偶爾會出現。
我創造的東西
我創建了一個工具,可以將所有事情以山寨程式碼風格的描述生成出來。
手機摔壞了

打麻將

在使用提示時,必須施加相當大的限制,否則生成的結果往往只會用字串和回傳值簡單表達,很多時候會變成無趣的英文,這點讓我非常困擾。這推測是因為我對提示結果的生成做了限制,每次控制在大約120個字元之內。
如果不施加限制,生成的AI會給出非常豐富的程式表達,不過在這個工具中,我想要達到的是讓不熟悉程式設計的人也能夠大致理解的輸出結果,同時也能夠在社交媒體上發布(根據輸出的字數,有時可能無法做到),所以這一點變得不可避免。
既然是山寨程式碼,又是糟糕應用程式,這方面我想也沒什麼好計較的…不過對於如何將生成AI所輸出的內容作為結果提供的工夫,我學到了不少東西。
<details><summary>使用的提示</summary>
請將使用者指定的內容以類似JavaScript程式碼的形式輸出,如下範例。
=====
${scenario}
=====
function writeDiary() {
const today = new Day()
const diary = new Diary(today.date)
diary.write(today.summary || "nothing happened")
return diary
}
const beans = new Beans("Ethiopia")
beans.roast()
const coffee = new Coffee(beans)
return new Cup().fill(coffee)
function shopping(friend) {
meet(friend)
walkToShop(friend)
while (wallet > 0 && temptation()) {
buy(randomItem())
}
laugh(friend)
return bags
}
我使用Shiki來實現語法高亮。
因為可以實現與VSCode相似的高亮,因此在這種需要重視程式碼外觀的使用案例中,比highlight.js更為合適。
幾乎所有功能都使用Claude Code實現,因此沒有觸及太多技術層面的內容,對此我深感抱歉。
「糟糕應用程式日曆」已經進入第11年,實話說,我已經感到有些枯竭了,但每年有很多人參加,讓活動變得熱鬧,我非常感激。
此外,通過這項活動我意外地得到了很多關注,今年我感受到「糟糕應用程式日曆」讓我的人生朝著更好的方向發展的情況很多。
希望明年也能繼續舉辦。