리스트페이지 개발#86
Conversation
Summary of ChangesHello @HWAN0218, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! 이 Pull Request는 리스트 페이지의 핵심 기능을 리팩토링하여 Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Changelog
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
리스트 페이지 개발과 관련된 전반적인 리팩토링이 인상적입니다. 동적 라우팅 [teamid] 도입, API 훅 구조 개선, 반복 작업(recurring task) API 연동 등 많은 부분이 개선되었습니다. 특히 teamId를 key로 사용하여 TaskList 컴포넌트를 재마운트하는 방식은 상태 관리를 깔끔하게 처리하는 좋은 방법입니다. 코드 리뷰에서는 두 가지 개선점을 제안했습니다. 하나는 코드 스타일 일관성을 위한 것이고, 다른 하나는 반복 작업 수정 시 발생할 수 있는 잠재적 버그를 방지하기 위한 것입니다. 전반적으로 훌륭한 작업입니다.
| if (vars.recurringId) { | ||
| return fetchJson<unknown>( | ||
| teamId, | ||
| `groups/${vars.groupId}/task-lists/${vars.taskListId}/recurring/${vars.recurringId}`, | ||
| { method: 'PATCH', body: JSON.stringify(vars.body) }, | ||
| '할 일 수정에 실패했습니다.', | ||
| ); | ||
| } |
There was a problem hiding this comment.
usePatchTask 훅에서 반복(recurring) 작업을 수정할 때, body에 doneAt 프로퍼티가 포함될 수 있습니다. doneAt은 단일 작업 인스턴스의 완료 상태를 나타내므로, 반복 작업의 템플릿을 수정하는 API로 전달되어서는 안 됩니다. 이로 인해 예기치 않은 오류가 발생할 수 있으므로, recurring 엔드포인트로 요청을 보내기 전에 doneAt 프로퍼티를 body에서 제외하는 것이 안전합니다.
| if (vars.recurringId) { | |
| return fetchJson<unknown>( | |
| teamId, | |
| `groups/${vars.groupId}/task-lists/${vars.taskListId}/recurring/${vars.recurringId}`, | |
| { method: 'PATCH', body: JSON.stringify(vars.body) }, | |
| '할 일 수정에 실패했습니다.', | |
| ); | |
| } | |
| if (vars.recurringId) { | |
| const { doneAt, ...recurringBody } = vars.body; | |
| return fetchJson<unknown>( | |
| teamId, | |
| `groups/${vars.groupId}/task-lists/${vars.taskListId}/recurring/${vars.recurringId}`, | |
| { method: 'PATCH', body: JSON.stringify(recurringBody) }, | |
| '할 일 수정에 실패했습니다.', | |
| ); | |
| } |
| ) | ||
| return true; |
Summary
Issue
Scope
포함
특이사항