-
Notifications
You must be signed in to change notification settings - Fork 5
더 나은 프로그래머 되는 법 2주차 - 조현우 #537
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The head ref may contain hidden characters: "\uB354-\uB098\uC740-\uD504\uB85C\uADF8\uB798\uBA38-\uB418\uB294-\uBC95-2\uC8FC\uCC28---\uC870\uD604\uC6B0"
Conversation
|
우측에 있는 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hello @aquamagic9, 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!
Summary of Changes
This pull request contains a summary of the book 'Becoming a Better Programmer' from chapters 9 to 13, written by aquamagic9. The summary includes key concepts from each chapter, such as handling unexpected situations, bug hunting strategies, testing methodologies (including TDD), managing complexity in software design, and the importance of high cohesion and loose coupling. It also contains the author's reflections and thoughts on the material, as well as answers to the 'think about' questions at the end of each chapter.
Highlights
- Handling Unexpected Situations: Chapter 9 emphasizes the importance of anticipating potential errors and writing code that can recover from them, even when complete recovery is not possible.
- Bug Hunting Strategies: Chapter 10 discusses various techniques for identifying, reproducing, and fixing bugs, including the use of debugging tools and the importance of writing unit tests.
- Testing Methodologies: Chapter 11 covers different types of testing (unit, integration, system) and introduces Test-Driven Development (TDD) principles.
- Managing Complexity: Chapter 12 addresses the causes of software complexity (blobs, lines, people) and suggests ways to reduce it through clear roles, responsibilities, and reduced coupling.
- Cohesion and Coupling: Chapter 13 highlights the significance of strong cohesion within modules and loose coupling between modules for creating maintainable and flexible software systems.
Changelog
- 2025/Becoming a Better Programmer/aquamagic9/Chapter9~13.md
- Added a summary of chapters 9-13 of 'Becoming a Better Programmer'.
- Included key concepts from each chapter.
- Added author's reflections and answers to 'think about' questions.
- Included a discussion prompt about encountering irreproducible bugs.
Using Gemini Code Assist
The 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 in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist is currently in preview and 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 to provide feedback.
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.
A better programmer's quest,
With tests and clean code blessed,
Complexity tamed,
Bugs neatly framed,
A system well-architected, at rest.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
The pull request contains a summary of chapters 9-13 of 'Becoming a Better Programmer'. The author reflects on the key concepts and provides personal insights. Overall, the summary is well-structured and demonstrates a good understanding of the material.
Merge Readiness
The pull request is ready to be merged. The changes consist of a well-written summary of the book chapters and personal reflections. There are no critical or high severity issues that need to be addressed before merging. I am unable to directly approve this pull request, and recommend that others review and approve this code before merging.
jongfeel
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
| @@ -0,0 +1,206 @@ | |||
| ### 논의사항 | |||
| 재현 가능성이 적었던 버그를 마주했던 경험이 존재하나요? 어떤 경험이였고 어떻게 해결할 수 있었는지 방법을 이야기해보면 좋을 것 같습니다. | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
테스트 환경을 맞춘다면 재현은 어느 정도 됩니다.
하지만 시스템이나 하드웨어적으로 문제 있는 부분이 훨씬 더 많았고
소프트웨어적인 버그는 거의 해결이 가능했습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
외부 API 호출과 관련된 동시성 버그가 있었는데 버그 재현하기 되게 힘들었던 경험이 있네요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
저는 로우 레벨과 관련된 버그를 마주한 경험이 없다보니 주로 외부 API 관련된 거였는데, 굉장히 재밌었습니다..
| @@ -0,0 +1,206 @@ | |||
| ### 논의사항 | |||
| 재현 가능성이 적었던 버그를 마주했던 경험이 존재하나요? 어떤 경험이였고 어떻게 해결할 수 있었는지 방법을 이야기해보면 좋을 것 같습니다. | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
저는 로우 레벨과 관련된 버그를 마주한 경험이 없다보니 주로 외부 API 관련된 거였는데, 굉장히 재밌었습니다..
테스트 주도 설계에 대해서 정확히 알지 못했었는데 이번 기회에 간략하게 요점을 배울 수 있어서 좋았습니다. 그리고 느슨한 결합도와 강력한 응집도에 대해서 리마인드 해볼 수 있어 반가웠습니다.