[{"data":1,"prerenderedAt":82},["ShallowReactive",2],{"content:\u002Farticles\u002Fsmall-project":3,"surround:\u002Farticles\u002Fsmall-project":70},{"id":4,"title":5,"body":6,"categories":46,"date":48,"description":49,"draft":50,"extension":51,"image":52,"meta":53,"navigation":55,"path":56,"permalink":56,"published":52,"readingTime":57,"recommend":52,"references":52,"seo":62,"sitemap":63,"stem":64,"tags":65,"type":68,"updated":52,"__hash__":69},"content\u002Fposts\u002F2026\u002Fsmall-project.md","一个小项目，认真做完",{"type":7,"value":8,"toc":38},"minimark",[9,16,19,23,26,29,32,35],[10,11,12],"blockquote",{},[13,14,15],"p",{},"本文为 mieka 博客的原创示例内容，可替换为自己的文章。",[13,17,18],{},"小项目最吸引人的地方，是可以在有限的时间内看到完整的结果。但开始容易，收尾常常需要更多耐心。",[20,21,22],"h2",{"id":22},"给完成一个定义",[13,24,25],{},"先写下项目为谁解决什么问题，以及哪些行为算真正可用。这个定义会帮助我们在出现新点子时判断优先级。",[20,27,28],{"id":28},"检查真实的使用路径",[13,30,31],{},"从首页开始，用第一次访问的视角走一遍。空状态能否理解，错误后能否继续，手机上是否还能完成同样的操作。",[20,33,34],{"id":34},"留下一份使用说明",[13,36,37],{},"解释怎样启动、怎样修改内容，以及哪些功能还只是预览。把这些写清楚，项目才有机会被下一次继续使用。",{"title":39,"searchDepth":40,"depth":40,"links":41},"",4,[42,44,45],{"id":22,"depth":43,"text":22},2,{"id":28,"depth":43,"text":28},{"id":34,"depth":43,"text":34},[47],"开发","2026-03-17","定一个清楚的边界，把最后那些不起眼的细节也收拾好。",false,"md",null,{"slots":54},{},true,"\u002Farticles\u002Fsmall-project",{"text":58,"minutes":59,"time":60,"words":61},"2 min read",1.105,66300,221,{"title":5,"description":49},{"loc":56},"posts\u002F2026\u002Fsmall-project",[66,67],"项目","效率","tech","VMj5ugfSSP6y2gdfoDQNdYyxTGwF_drEnykdQJvIF2Q",[71,76],{"title":72,"path":73,"stem":74,"date":75,"type":68,"children":-1},"年末，把零散的记录装订起来","\u002Farticles\u002Fyear-end","posts\u002F2025\u002Fyear-end","2025-12-28",{"title":77,"path":78,"stem":79,"date":80,"type":81,"children":-1},"读完一本书，留下几个问题","\u002Farticles\u002Freading","posts\u002F2026\u002Freading","2026-06-03","story",1793799126950]