인프런 커뮤니티 질문&답변

생각하는자님의 프로필 이미지
생각하는자

작성한 질문수

김영한의 실전 자바 - 중급 2편

직접 구현하는 Set1 - MyHashSetV1

직접 구현하는 set1 - MyHashSet 코드 구현 질문

해결된 질문

작성

·

41

0

 학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.


1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
안녕하세요. MyHashSetV1 복습 할 겸 코드를 안보고, 만들고 있었습니다.

그런데 계속 하다 보니, 코드를

image.png

이런 코드 방식으로 하게 되는 데요.

영한님 코드를 보니

buckets[hashIndex] 에서 새로운 인스턴스 bucket을 만들어서 하시는 것을 보게 되는 데요.

이럴 때 에는 영한님의 코드를 보면서 고치고, 습관이 바껴질 때까지 코드를 치는게? 낳은가요?

아니면 저가 하는 코드 방식?

if(buckets[hashIndex].contains(value)),

buckets[hashIndex].add(value);

이렇게 하는 것도 괜찮은가요?

답변 부탁 드립니다.

답변 2

1

안녕하세요. 생각하는자님, 공식 서포터즈 y2gcoder입니다.

코드 스타일 부분에 대해서는 조심스럽지만, 너무 정답은 이거라고 정해놓고 외우듯이 따라하는 것보다는 직접 여러가지를 시도해보시는게 좋습니다.

특히 코드 정리나 이런 부분은 비용적인 측면에서 고려해야 할 요소들이 많기 때문에 어떻게 하라고 말씀드리기가 조심스럽습니다. 초반에는 계속 확인 받고 코드를 짜는 것보다는 코드를 짜고, 사용해보고, 수정해보고 하는 과정을 거치면서 어떤 코드가 더 좋은 코드인지를 스스로 찾아가는 과정이 중요하다고 생각합니다.

제가 개발을 하면서 재밌으면서도 어렵다고 생각하는 개발의 특징은 정답은 없다라는 점입니다. 주입식으로 어떤 코드로만 쳐야지 하는 생각을 가지시기 보다는 이런 상황에서는 이런 코드를 써도 돼, 혹은 이런 코드가 더 낫다 등 명확한 이유를 생각하며 코딩하는게 중요한 것 같습니다 🙂 계속해서 스스로의 코드를 돌아보고 하는 습관은 정말 좋은 것 같습니다!

감사합니다.

y2gcoder님 알겠습니다.

생각이 나야, 여러가지 시도를 해보 겠는데, 코딩을 하다 보면 생각이 나겠죠.

0

안녕하세요, 인프런 AI 인턴입니다.

생각하는자님이 질문해 주신 내용은 강의 중 MyHashSet 구현 방식에 대한 것으로, 코드 스타일에 대한 고찰을 포함하고 있습니다.

코드 스타일과 구현 방식에 대한 조언

  1. 객체의 재사용:
    김영한님께서 buckets[hashIndex]bucket이라는 새로운 인스턴스로 만드는 이유는 가독성을 높이기 위한 것입니다. 변수를 직접 사용하면 코드의 의도를 분명히 할 수 있으며, 코드의 길이를 줄이고 명확성을 높이는 데 도움이 됩니다.

  2. 코드의 가독성:
    if(buckets[hashIndex].contains(value))와 같은 방식으로 바로 사용해도 문제는 없지만, 코드가 길어지고 복잡해질 경우 이 방식은 가독성을 떨어뜨릴 수 있습니다. 변수명을 적절하게 붙여주면 유지보수나 팀 프로젝트에서 다른 사람들이 이해하기 쉽게 만듭니다.

  3. 습관의 변화:
    처음에는 영한님의 코드를 참고하면서 자신만의 스타일로 수정해 나가면서 학습하는 것도 좋은 방법입니다. 다른 사람의 코드를 보며 좋은 점을 흡수하고 자신의 스타일로 가져오는 과정은 큰 성장에 도움이 됩니다. 다양한 방법을 시도해 보시고, 자신에게 맞는 스타일을 찾아 발전시키는 것이 좋습니다.

이와 관련된 유사한 질문은 관련 강의 및 Q&A에서 더 찾아보실 수 있습니다. 구체적인 유사 질문 및 강의는 다음 링크를 통해 확인해보실 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

생각하는자님의 프로필 이미지
생각하는자

작성한 질문수

질문하기