From ca59cfa30ce1d5af53a586e724dcc76438b263d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=81=E6=B3=93=E5=AE=81?= Date: Fri, 25 Sep 2026 15:13:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=84=E8=8C=83=E7=AC=AC=E4=B8=89=E9=A2=98?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E8=AF=B4=E6=98=8E=E5=B9=B6=E8=A1=A5=E5=85=85?= =?UTF-8?q?=E5=AD=A6=E4=B9=A0=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tasks/03-development.md | 52 ++++++++++++++++++++++++++++++----------- 1 file changed, 38 insertions(+), 14 deletions(-) diff --git a/tasks/03-development.md b/tasks/03-development.md index fdc1ff3..3876a94 100644 --- a/tasks/03-development.md +++ b/tasks/03-development.md @@ -2,28 +2,52 @@ - **类型**:开发挑战(选做) - **基础要求**:使用 Swift 开发可交互的 App,界面优先采用 SwiftUI -- **参与方式**:Fork 仓库自行开发,无需向原仓库提交;面谈前请提前告知负责人仓库位置 -- **AI 规则**:允许辅助开发及生成主要代码,作品须亲自运行、检查,并能当面展示和说明 +- **提交材料**:无需向原仓库提交;作品留在个人 Fork,面谈时运行展示 +- **AI 规则**:允许辅助开发及生成主要代码,须亲自运行、检查并能说明作品 -## 两条题目路线 +## 任务背景与概述 -- **路线 A:开发第二题的设计。** 从自己的方案中选择一个范围可控的版本实现,可以在开发时调整,并简述与原设计的不同。 -- **路线 B:开发数独游戏。** 制作一个可以选择题目、填写与擦除数字、检查冲突、判断完成并保存进度的数独 App。提供固定题库,不要求编写出题算法。 +这道选做题邀请你把想法做成能实际操作的 App。可以开发第二题的设计,也可以完成统一的数独游戏。选做与否不影响前两题成绩;完成情况通过作品和当面交流确认。 -路线 B 的[数独详细需求与基础材料](../development/README.md)放在 `development/`,路线 A 按自己的第二题方案开发。 +## 任务详细要求 -两条路线都应完成可实际操作的核心流程:输入或选择能够改变应用内容并获得反馈,核心数据可本地保存并在重启后恢复,能处理相关边界情况。路线 A 简要说明核心功能、保存的数据、至少两种边界情况及设计调整即可。不要求堆叠功能、复杂架构、登录、服务器或上架。 +### 1. 选择一条路线 -## 怎样参与与当面考察 +- **路线 A:开发第二题的设计。** 从自己的方案中选一个范围可控的版本实现;可以在开发时调整方案,并简述与原设计不同的地方。 +- **路线 B:开发数独游戏。** 实现选题、填数与擦除、冲突检查、完成判断和进度保存。完整功能、边界规则和固定题库见[数独开发材料](../development/README.md)。不要求编写出题算法。 -先 Fork 本仓库,在个人 Fork 中自行组织项目目录(例如 `App/`),保留原题及 `development/` 数独材料。代码保存在自己的仓库即可,**无需向原仓库提交材料、发起 PR 或登记作品入口**,也不要求录屏。 +`development/` 只提供路线 B 的数独详细需求和基础材料;路线 A 依据自己的第二题方案开发。 -有做这道题的同学,最好在面谈前提前告知负责人个人仓库的链接和项目位置,并确认负责人能够访问,方便先看代码。在项目中简要写明打开与运行方法、已完成和未完成的功能及已知问题,方便预先阅读,不要求专门的作品说明模板。具体联系与面谈安排后续通知。面谈时展示实际运行的作品,交流实现、验证过程和遇到的问题;未完成的部分也可以如实展示。 +### 2. 两条路线共用的完成标准 -## AI 与考察重点 +做出一条从开始到结束可以实际操作的核心流程。用户的输入或选择应改变内容,并获得清楚的反馈;与核心用途有关的数据应在本地保存,彻底退出并重新启动后仍能恢复。还要处理与场景有关的空白、错误、取消等情况,不能只有静态页面。 -可以让 AI 帮助拆分开发任务、生成主要代码、解释、排错和修改。你需要亲自运行和检查结果,并能结合自己的作品说明核心操作怎样实现、数据怎样变化和保存,以及怎样发现和处理问题。现场可能讨论一个小变化及如何实现、验证,实践环节允许继续使用 AI,不要求背诵全部代码或按手写代码比例评判。 +路线 A 请简要说明核心功能、保存的数据、至少两种边界情况及设计调整;路线 B 按[数独详细需求](../development/requirements.md)检查基础功能。额外功能不能代替基础要求。不要求登录、服务器、云同步、复杂架构或应用商店上架。 -路线 A 中作为第二题提交的设计文档仍遵守[第二题的 AI 使用范围](02-design.md),开发阶段按本题规则使用 AI。交流中的 AI 使用情况仅用于了解工作过程,不单独评分。 +## 作品材料、方式与格式规范 -选做与否不影响前两题成绩。挑战完成标记根据实际作品与当面考察确认,记录为“未选做”“已尝试”“作品完成待面谈确认”或“挑战通过”。 +先 Fork 本仓库,在个人 Fork 中自行组织项目目录,保留原题和数独材料。项目应包含可打开、可运行的完整源码与必要资源,并在仓库中简要写明打开与运行方法、已完成和未完成的功能、已知问题。无需使用固定的作品说明模板。 + +**无需向原仓库提交作品、发起 PR、登记作品入口或提交录屏。** 有做这道题的同学,最好在面谈前提前告知负责人个人 Fork 链接及项目位置,并确认负责人能够访问,方便先看代码。具体联系与面谈安排后续通知。面谈时展示实际运行的作品;未完成的部分也可如实说明。 + +## 学习范围与资源 + +根据所选路线按需学习 Swift、界面状态与本地保存。以下是可选的 Apple 官方资料,不要求通读: + +- [Develop in Swift:SwiftUI 入门](https://developer.apple.com/tutorials/develop-in-swift/welcome-to-swiftui):了解界面、状态变化和用户输入。 +- [SwiftUI Pathway](https://developer.apple.com/swiftui/get-started/):从基础示例继续找适合自己项目的内容。 +- [AppStorage 文档](https://developer.apple.com/documentation/swiftui/appstorage):一种保存简单状态的方式;也可以选择其他合适的本地保存方法。 + +不限定必须使用某个界面组件、数据存储方案或代码结构,重点是实际结果符合需求、本人能检查与说明。 + +## AI 使用规则 + +可以让 AI 帮助拆分开发任务、生成代码、解释、排错和修改,甚至完成主要代码。请亲自运行、检查是否符合需求,并能说明自己怎样验证与调整结果。交流中的 AI 使用情况仅帮助我们了解工作过程,不单独评分。 + +路线 A 中作为第二题提交的设计 PDF 仍遵守[第二题的独立完成规则](02-design.md):问题和方案由本人构思;进入本题开发阶段后,按本题规则使用 AI。 + +## 考察重点 + +面谈会结合真实运行和代码,了解你能否完成核心流程、数据怎样变化和保存、怎样发现结果不符合需求,以及为什么保留或修改某个实现。可能讨论一个小变化及其实现和验证方法;实践环节允许继续使用 AI。不要求背诵全部代码,也不按手写代码比例判断。 + +挑战完成标记根据实际作品与当面考察确认,记录为“未选做”“已尝试”“作品完成待面谈确认”或“挑战通过”。