학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예
[질문 내용]
이번 채팅 프로그램 만들기 하면서 느꼈습니다.
앞 수업에서 만든 v6 를 참고하면서 제가 만들었는데 요구사항대로 다 동작을 하긴합니다. 하지만 이번 영한님 강의를 들으면서 어떤기준으로 클래스를 나누어야하는지 감을 잘 못잡겠습니다. 제가 만든건 너무 하드코딩인거 같아요,,,
안녕하세요. 이승호님, 공식 서포터즈 y2gcoder입니다.
굉장히 어렵지만 저희 개발자들이 늘 해야 하는 고민을 질문으로 주셨다고 생각합니다!
저 또한 같은 고민을 했던 동료 개발자로서 답변을 드리고 싶습니다!
여러 훌륭하신 개발자분들께서 말씀하시는 것을 들어보면
를 공통적으로 많이 언급해주십니다.
저는 그래서 다른 것보다 이를 목표로 잡고 학습하려고 노력합니다 🙂
이를 위한 학습 방법으로는
이론: 책이나 좋은 코드에 대한 강의, 발표를 찾아봅니다. 굉장히 다방면으로 학습해야 할 필요가 있다고 생각합니다. 객체 지향, 테스트 코드 등의 개념적인 부분의 학습부터 사용하는 언어나 프레임워크, 컴퓨터나 네트워크에 대한 학습까지 두루 하시다 보면 좀 더 좋은 코드를 작성하는 것에 대한 인사이트가 생기실 거라 생각합니다.
실전: 일단 코딩을 많이 해보고 많이 변경해보는 연습이 필요합니다. 특히 개발자는 비용을 많이 생각해야 하는 직업이라고 생각합니다. 이상적으로 좋은 코드가 현재 우리 프로젝트에는 어울리지 않는 오버 엔지니어링 코드일 수 있습니다. 이런 부분은 이론에 더해 실전 경험을 많이 쌓는 것이 중요하다고 생각합니다.
끝으로 길게 보는 마음을 가지시는 게 중요하다고 생각합니다. 세상에는 영한님을 비롯해 저보다 잘하는 개발자 분들이 정말 많습니다. 그러한 분들의 코드나 설계 등을 볼 때마다 감탄할 때가 많습니다. 다만 그 분들과 비교하면서 제 실력에 대해서 의기소침하기 보다는 그러한 분들의 코드를 보면서 그 다음 순간의 제가 작성할 더 나아진 코드를 기대하시는 것을 저는 추천합니다 🙂
감사합니다.
답글