Skip to content

Conversation

@aquamagic9
Copy link
Contributor

테스트 주도 설계에 대해서 정확히 알지 못했었는데 이번 기회에 간략하게 요점을 배울 수 있어서 좋았습니다. 그리고 느슨한 결합도와 강력한 응집도에 대해서 리마인드 해볼 수 있어 반가웠습니다.

@github-actions
Copy link

github-actions bot commented May 1, 2025

우측에 있는 Projects, Milestone, Development를 확인 후 할당 해주세요~! 🙇

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a 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

  1. 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.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a 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.

Copy link
Member

@jongfeel jongfeel left a 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 @@
### 논의사항
재현 가능성이 적었던 버그를 마주했던 경험이 존재하나요? 어떤 경험이였고 어떻게 해결할 수 있었는지 방법을 이야기해보면 좋을 것 같습니다.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

테스트 환경을 맞춘다면 재현은 어느 정도 됩니다.
하지만 시스템이나 하드웨어적으로 문제 있는 부분이 훨씬 더 많았고
소프트웨어적인 버그는 거의 해결이 가능했습니다.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

외부 API 호출과 관련된 동시성 버그가 있었는데 버그 재현하기 되게 힘들었던 경험이 있네요

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저는 로우 레벨과 관련된 버그를 마주한 경험이 없다보니 주로 외부 API 관련된 거였는데, 굉장히 재밌었습니다..

@jongfeel jongfeel moved this to In review in 2025 Academic Conference May 2, 2025
@@ -0,0 +1,206 @@
### 논의사항
재현 가능성이 적었던 버그를 마주했던 경험이 존재하나요? 어떤 경험이였고 어떻게 해결할 수 있었는지 방법을 이야기해보면 좋을 것 같습니다.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저는 로우 레벨과 관련된 버그를 마주한 경험이 없다보니 주로 외부 API 관련된 거였는데, 굉장히 재밌었습니다..

@jongfeel jongfeel enabled auto-merge May 16, 2025 07:11
@jongfeel jongfeel merged commit 6674884 into main May 16, 2025
1 check passed
@jongfeel jongfeel deleted the 더-나은-프로그래머-되는-법-2주차---조현우 branch May 16, 2025 10:38
@github-project-automation github-project-automation bot moved this from In review to Done in 2025 Academic Conference May 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2025 Becoming a Better Programmer 더 나은 프로그래머 되는 법

Projects

No open projects
Status: Done

Development

Successfully merging this pull request may close these issues.

<더 나은 프로그래머 되는 법> 9장 ~ 13장, 총 79페이지, 2025-05-02

6 participants