Files
metagpt-JS-UI-20260326/docs/prd/20260326152929.json
2026-03-26 15:33:47 +09:00

1 line
2.9 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"Language":"zh_cn","Programming Language":"JavaScript","Original Requirements":"一个JS写的数字的快速排序程序无需UI尽量简单","Project Name":"quick_sort_js","Product Goals":["实现简洁高效的快速排序算法","代码易于理解和维护","确保排序结果的正确性和性能"],"User Stories":["作为开发者,我希望能够对任意数字数组进行快速排序","作为开发者,我希望排序函数能够处理边界情况,如空数组或单元素数组","作为开发者,我希望代码简洁易读,方便直接引用或修改","作为开发者,我希望能够通过控制台输出验证排序结果"],"Competitive Analysis":["Lodash sortBy: 功能强大但库体积较大,适合复杂项目","Array.prototype.sort: 原生方法,简单易用,但排序算法不固定","bubble-sort-js: 冒泡排序实现,简单但性能较差","merge-sort-js: 归并排序实现,稳定但代码相对复杂","timsort: 高性能混合排序,功能强大但实现复杂","fast-sort: 功能丰富,支持多种排序方式,但依赖较多","简单手写快速排序: 轻量、无依赖,代码简洁,适合学习和小型项目"],"Competitive Quadrant Chart":"quadrantChart\n title \"排序库的简洁性与性能对比\"\n x-axis \"低性能\" --> \"高性能\"\n y-axis \"复杂\" --> \"简洁\"\n quadrant-1 \"理想选择\"\n quadrant-2 \"需要优化\"\n quadrant-3 \"不推荐\"\n quadrant-4 \"性能优先\"\n \"Lodash sortBy\": [0.7, 0.4]\n \"Array.prototype.sort\": [0.6, 0.8]\n \"bubble-sort-js\": [0.2, 0.7]\n \"merge-sort-js\": [0.65, 0.45]\n \"timsort\": [0.85, 0.25]\n \"fast-sort\": [0.75, 0.35]\n \"Our Target Product\": [0.75, 0.85]","Requirement Analysis":"该项目要求使用JavaScript实现一个快速排序算法核心需求是对数字数组进行排序。无需任何UI界面代码应尽量简单明了。快速排序是一种高效的分治排序算法平均时间复杂度为O(n log n)。实现时需考虑:选取基准元素、分区操作、递归排序子数组,同时需处理空数组和单元素等边界情况。","Requirement Pool":[["P0","实现核心快速排序函数,能够对数字数组进行升序排序"],["P0","处理边界情况:空数组、单元素数组、已排序数组"],["P1","在代码中提供示例调用通过console.log输出排序结果以便验证"],["P1","代码添加必要注释,说明算法步骤和逻辑"],["P2","支持可选的降序排序参数"]],"UI Design draft":"无UI设计需求。程序仅包含纯JavaScript逻辑代码通过Node.js或浏览器控制台运行使用console.log输出排序前后的数组结果进行验证。","Anything UNCLEAR":"目前需求较为明确。可进一步确认的点1) 是否需要支持降序排序2) 是否需要处理非数字元素的过滤3) 运行环境是Node.js还是浏览器环境不影响核心实现。"}