-
Notifications
You must be signed in to change notification settings - Fork 77
[지하철 노선도 미션] 권세진 미션 제출합니다. #45
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
Open
0307kwon
wants to merge
85
commits into
woowacourse:main
Choose a base branch
from
0307kwon:sejin
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
js 파일 이름들의 첫문자를 소문자로 수정함
각 페이지마다 중복 사용되던 클릭 이벤트를 좀 더 활용성을 높인 형태로 UI 공통 부모 클래스의 메소드로 추가함
<tr>태그가 </tr>태그로 닫혀있지 않은 경우를 수정
- 새로운 station과 line을 생성할 때 메소드를 호출하여 생성하게 함으로써 가독성을 높임 - hasNotEqualName 메소드를 일반화하여 활용도를 높임
- 가독성을 위한 메소드 이름 변경 getStations() => getAllStations() getLines() => getAllLines() - 상수 선언 순서 가독성 좋게 변경 - 클래스 이름이 잘못되어 수정 MapPrintManager => MapPrintManagerUI
station-info-manager.js는 역 정보 뿐만 아니라 노선 정보도 저장하므로 가독성을 위해 station-info-manager.js => subway-info-manager.js로 이름을 변경
-station 데이터가 station 이름 정보만 담도록 변경 - 데이터 관리 모듈을 line-info-manager.js 와 station-info-manager.js 로 세분화
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
안녕하세요! 3기 프리코스에 참여하고 있는 권세진이라고 합니다.
저는 이전 미션들을 수행하면서 든 의문이 있었습니다.
"코드 컨벤션은 왜 중요한 걸까?"
"코드 중복이 그렇게 큰 문제가 될까?"
저는 이번 미션을 수행하면서 겪은 경험을 통해 위의 질문에 대한 답을 스스로 얻을 수 있었습니다.
<보기 좋은 코드가 수정하기에도 좋다>
저는 이번 미션에서 localstorage에 저장하는 기능을 거의 마지막에서야 만들었습니다.
그런데 문제가 되었던 것이 제가 역과 노선을 저장하기 위해 선언한 변수들 중 참조값을 가지는 변수가 있었다는 것입니다.
물론 localstorage는 참조값을 저장할 수는 없었고 이대로라면 저장 기능 구현은 불가능했습니다.
그래서 저는 이 변수의 자료형을 바꾸기로 하였고, 이는 해당 변수를 사용하는 모든 메서드를 바꾸어야한다는 것이기에 막막했습니다.
이전에 비슷한 일을 겪었을 때는 스스로도 알기힘든 코드를 다시 해석하여 어느 부분을 바꾸어야 하는지 찾아야 했고
코드 재사용을 신경쓰지 않았기 때문에 수십 줄이나 되는 코드를 수정해야 했습니다.
하지만 이전과 달리 프리코스의 요구사항을 만족시키기 위해 의식적으로 코드 컨벤션과 코드 재사용에 집중했고
이는 거의 모든 클래스에서 사용하는 변수의 자료형을 바꾸는 작업과 같이 큰 변경 사항이 발생했을 때
엄청난 효율을 발휘했습니다. 그저 컴포넌트화된 관련 메서드 몇 개만 고쳐주었더니 이전과 똑같이 동작하였습니다.
이번 미션 중에 저는 이를 직접 경험해보면서 코드 컨벤션과 재사용이 프리코스의 미션 하나에서도 이렇게 큰 효율을 가지는데
훨씬 거대한 프로그램에서는 얼마나 강력한 효율을 보일까 상상하며 지금까지 프리코스에서 강조한 것들이
매우 중요한 것임을 깨닫게 되었습니다.
<개발자로서 추구하는 가치>
코드 컨벤션이 얼마나 중요한 것인지를 알게되면서 제가 가진 생각도 달라졌습니다.
프리코스 이전의 저는 코드적 기교를 활용해 코드를 짧게 구현하는 것을 최고의 가치로 생각하고 있었습니다.
하지만 지금은 어설픈 기교보다 코드 컨벤션을 충실히 지키는 기본기를 더 중요시 여기며
정말 멋진 코드는 한눈에 다른 개발자를 이해시킬 수 있는 코드라는 생각을 가지게 되었습니다.
웹 프론트엔드는 정말 빠르게 변화하기에 개발자는 끊임없이 나오는 새로운 기술에 압도될지도 모릅니다.
하지만 기술은 변해도 기본기는 변하지 않습니다. 그래서 이러한 기술의 홍수 속에서 살아남기 위해 가장 갈고 닦아야 하는 것은
탄탄한 기본기입니다. 저는 프리코스에서 배운 기본기의 중요성을 마음 속에 간직하며 이에 충실한 개발자가 되겠습니다.
<프리코스를 마치며...>
3주라는 시간이 정말 눈깜짝할 사이에 지나갔지만 프리코스 이전의 저의 코드와 현재의 코드는 다른 사람의 코드라고
볼 수 있을 정도로 많이 성장했습니다. 그동안 1인 내지 4인 정도의 규모로 프로그래밍을 하며 기능의 구현에만
집중했던 저에게 3주간의 프리코스는 제가 새로운 관점으로 코드를 볼 수 있도록 이끌어주었습니다.
또한 프리코스의 공통 피드백만으로 단기간 내에 많은 것을 느끼고 배우며 멘토의 중요성을 다시금 깨달았고
개인 피드백을 받을 수 있는 본 교육까지 참여할 수 있다면 제가 얼마나 성장할 수 있을까 더더욱 기대가 되었습니다.
코로나19로 마지막 코딩테스트가 온라인으로 진행되어 개발자분들을 만나지 못하는 것은 아쉽지만 최선을 다해 테스트에 임하겠습니다.
지금까지 프리코스를 위해 힘써주신 모든 분들께 감사드립니다.