Skip to content

Conversation

tttghost
Copy link
Contributor

내용 좋습니다.

Copy link

우측에 있는 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 @tttghost, 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

Hello team, gemini-code-assist here to provide a summary of this pull request. This PR, authored by tttghost, is titled "더 나은 프로그래머 되는법 3주차 - 김지수" (Becoming a Better Programmer Week 3 - Kim Ji-soo). Based on the title and the content added, the primary intent is to add study notes, summaries, and discussion topics for chapters 14 through 23 of the book "Becoming a Better Programmer". This seems to be part of a structured learning or study group effort, specifically covering the material designated for the third week.

Highlights

  • Study Notes & Summaries: The core change is the addition of detailed summaries for chapters 14 through 23 of the book 'Becoming a Better Programmer'. These summaries cover various aspects of software development, including the nature of the work, rules and principles (like KISS, DRY), handling change, code reuse, version control, quality assurance, code freezing, and the release process.
  • Discussion Topics: For each chapter summary, a 'Topics' section is included, providing questions intended to spark discussion or reflection related to the chapter's content. These topics encourage relating the book's concepts to personal or team experiences.
  • Single File Addition: All the new content is added within a single Markdown file, 2025/Becoming a Better Programmer/tttghost/Chapter14~23.md, organizing the notes for this specific section of the book and author.

Changelog

  • 2025/Becoming a Better Programmer/tttghost/Chapter14~23.md
    • Added summaries and discussion topics for chapters 14-23 of 'Becoming a Better Programmer'.
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.


Learning code's deep art,
Chapters flow, a steady start,
Wisdom takes its hold.

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

안녕하세요! '더 나은 프로그래머 되는 법' 3주차 스터디 내용 요약을 잘 작성해주셨습니다. 14장부터 23장까지의 핵심 내용을 잘 정리하고 각 챕터별 토론 주제도 명확하게 제시하여 스터디 참여자들이 내용을 이해하고 깊이 있는 논의를 하는 데 큰 도움이 될 것 같습니다. 전반적으로 내용 구성이 훌륭합니다.

Summary of Findings

  • Markdown Formatting Consistency: Found minor inconsistencies in Markdown formatting, such as trailing spaces on lines and an incomplete list item (- ) on an empty line. These are low-severity issues and were not commented on directly due to the review settings.

Merge Readiness

이 PR은 내용상 중요한 문제가 없으며, 스터디 자료로서의 목적을 잘 달성하고 있습니다. 발견된 사소한 마크다운 서식 문제는 코드의 기능이나 정확성에 영향을 미치지 않으므로, 현재 상태로 병합하기에 충분히 좋은 상태라고 판단됩니다. 다만, 향후 일관된 문서 관리를 위해 사소한 서식 오류를 수정하는 것을 고려해볼 수 있습니다. 저는 병합 권한이 없으므로, 다른 리뷰어의 승인을 받아 병합을 진행하시면 됩니다.

Comment on lines +109 to +110
`Topics`
- 버전관리도구중 GUI와 CLI중 어떤 것을 자주 사용하시나요? 빈도는 어떻게 되시나요?
Copy link
Collaborator

Choose a reason for hiding this comment

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

저는

GUI: merge conflict resolve 시에

CLI: 그 외 나머지

입니다

Copy link
Contributor

Choose a reason for hiding this comment

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

IDE에서 커밋 메시지 자동으로 추천해주는 기능때문에 GUI를 많이 사용하는 것 같습니다.

Comment on lines +134 to +135
`Topics`
- 테스트코드 작성에 대한 자신의 노하우가 있을까요?
Copy link
Collaborator

Choose a reason for hiding this comment

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

저는 기본적으로 아래와 같이 분류해서, QA를 진행 합니다

  • 예상 가능한 행동

    • happy path
    • unhappy path
  • 예상 불가능한 행동

Comment on lines +168 to +169
`Topics`
- CI/CD 파이프라인 구축 및 자동화된 테스트 워크플로우 적용 경험과 그로 인한 이점/개선점은 무엇인가요?
Copy link
Collaborator

Choose a reason for hiding this comment

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

가장 큰 이점은 코드에 문제가 없다는 최소한의 방어막으로써, 이를 지속 적으로 체크하는 것일것이고, 배포가 간편 해졌다 정도로 볼 수 있을 것 같습니다

@jongfeel jongfeel requested review from ymkim97 and removed request for aquamagic9 May 16, 2025 00:43
- 팀 규칙을 만들어라

`Topics`
- 최근 팀 내에서 세운 규칙이 뭐가 있을까요?
Copy link
Contributor

Choose a reason for hiding this comment

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

팀 규칙은 아니고 저만의 규칙인데, 생성자는 무조건 private으로 하자입니다.
최근 코틀린 공부하면서 이 규칙의 필요성이 많이 줄어든 것 같지만 자바를 할때는 Record 나 class + @RequiredArgumentsConstructor를 사용할 때면, 생성자가 클래스의 필드 순서에 영향을 받는데 이때, 의도치않게 오류가 발생할 수 있어서 이런 규칙을 정했었습니다.

Comment on lines +109 to +110
`Topics`
- 버전관리도구중 GUI와 CLI중 어떤 것을 자주 사용하시나요? 빈도는 어떻게 되시나요?
Copy link
Contributor

Choose a reason for hiding this comment

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

IDE에서 커밋 메시지 자동으로 추천해주는 기능때문에 GUI를 많이 사용하는 것 같습니다.

- 안정적인 메인 브랜치 유지

`Topics`
- 버전관리도구중 GUI와 CLI중 어떤 것을 자주 사용하시나요? 빈도는 어떻게 되시나요?
Copy link
Contributor

Choose a reason for hiding this comment

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

저는 배우는 단계라 CLI을 많이 사용하는 것 같습니다.
GUI가 확실히 편하긴한데... 뭔가 FM먼저하고 편한거 쓰자는 주의라서 그런거 같아요.

- 복잡한 코드를 정리하고 개선하는 과정을 즐기는 자세가 필요하다

`Topics`
- 최근들어 배웠던 부분중 인상깊었던 것이 있나요?
Copy link
Contributor

Choose a reason for hiding this comment

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

코드 작성하기 전에 구조와 설계 파악하기가 인상 깊었습니다.
책에서 설명한 것 처럼, 학습이나 입사 초기에는 카우보이식 코딩을 했는데,
물론 당장은 엄청 어려운 것을 개발하지 않아서 카우보이식 코딩도 편하긴했으나,
갈수록 설계가 복잡하거나 구현 난이도가 올라가면,
바로바로 코드를 작성하면서 무언가를 구현하는게 산으로 갈 때가 많았습니다.
그래서 처음부터 설계와 구조를 잘 잡고 가면, 비록 도중에 수정은 발생하더라도...
중간 중간 이정표가 있어서 덜 헤매게 되었던 것 같아요.

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.

👍

- 팀 규칙을 만들어라

`Topics`
- 최근 팀 내에서 세운 규칙이 뭐가 있을까요?
Copy link
Member

Choose a reason for hiding this comment

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

명시적인 비동기 코드로의 통일성을 위해 Coroutine 쓰지 말자가 마지막에 만든 규칙이었습니다.

- 복잡한 코드를 정리하고 개선하는 과정을 즐기는 자세가 필요하다

`Topics`
- 최근들어 배웠던 부분중 인상깊었던 것이 있나요?
Copy link
Member

Choose a reason for hiding this comment

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

14장 관련된 내용이 아니면
저는 채용 관련된 쪽이었습니다.

채용 담당 관리자도 교육이 필요하고
채용팀에서 만든 프로세스와 임원 채용시 예외 프로세스를 구분할 필요가 있다 였습니다.



`Topics`
- CI/CD 파이프라인 구축 및 자동화된 테스트 워크플로우 적용 경험과 그로 인한 이점/개선점은 무엇인가요?
Copy link
Member

Choose a reason for hiding this comment

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

이점은 코드 로직에 대한 검증이며 개선하기 위해서는 반드시 자동화 스크립트를 통한 적용이 필요하다 입니다.

- 프리징 기간 동안 기술 부채 점검

`Topics`
- 코드프리징을 선택할 때 어느정도 확신을 가지고 하시나요?
Copy link
Member

Choose a reason for hiding this comment

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

코드 프리징이 없어서 모르겠지만,
과거(15년전 쯤) 에는 확신이고 뭐고 일정대로 작업하고 중단하는 방식이 코드 프리징이었지
그게 개발하고 출시하는데 도움이 되기 때문에 하고 있다라는 느낌은 많이 없었습니다.

- 효과적인 커뮤니케이션 필수

`Topics`
- 테스트코드 작성에 대한 자신의 노하우가 있을까요?
Copy link
Member

Choose a reason for hiding this comment

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

기본적으로 테스트하는 메소드 안의 if문의 갯수만큼의 테스트 케이스를 추가해야 한다 정도고
그런 짓을 몇년 하다 보면 메소드 안에 if문을 얼마나 많이 써야 할지 조금 생각하게 됩니다.

이 얘기는 메소드 하나 안에 분기 처리를 4개 이상 처리를 하고 있으면 이상 징후라는 뜻입니다.
그리고 리팩터링을 해야 할 때라는 신호이기도 하죠.

- 안정적인 메인 브랜치 유지

`Topics`
- 버전관리도구중 GUI와 CLI중 어떤 것을 자주 사용하시나요? 빈도는 어떻게 되시나요?
Copy link
Member

Choose a reason for hiding this comment

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

git diff 명령으로 스크롤이 길어질 때만 GUI 쓰고
나머지는 CLI 씁니다.



`Topics`
- 현재 진행중인(혹은 진행했던) 프로젝트에서 얼마나 많은 복제코드가 존재하나요?
Copy link
Member

Choose a reason for hiding this comment

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

없다고 보는게 맞을 것 같네요.
그런 코드가 있으면 다시 리팩터링을 하게 되니까요.

- 결론: 좋은 간결함은 초기 설계 단계에서부터 고려되어야 한다

`Topics`
- 설계나 구조 수준에서 최적화 하신 사례가 있으신가요?
Copy link
Member

Choose a reason for hiding this comment

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

많이 한 것도 있고, 코드 작성하면 자연스럽게 하는 작업이라
구체적으로 어떤 사례를 얘기하고 싶은지 추가해 주시면 더 깊이 있는 얘기를 해 볼 수 있을 것 같습니다.

@tttghost tttghost merged commit 115385f into main May 29, 2025
1 check passed
@tttghost tttghost deleted the 542-더-나은-프로그래머-되는-법-sprint-3-14장-23장-총-108페이지-2025-05-16-김지수 branch May 29, 2025 17:45
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.

<더 나은 프로그래머 되는 법> sprint 3, 14장 ~ 23장, 총 108페이지, 2025-05-16
6 participants