책에 보면 코딩 테스트란 무엇인지 먼저 써져있다.
코딩 테스트는 지원자가 알고 있는 자료 구조와 알고리즘 등을 이용하여 문제를 해결해나가는 능력을 평가하는 시험.
네카라쿠배로 통용되는 한국의 상위 IT기업은 모두 코딩 테스트를 진행하며, 이 테스트를 통과한 지원자만 다음 단계인 면접 과정으로 넘어 갈수 있다.
라고 적혀있는데 사실 내 개인적으로 생각하기에는 코딩 테스트는 나를 단련시켜줄 멘탈 측정기 같다. 그리고 나를 단련시켜줄?
물론 코딩에 있어서나 좋은 개발자에 있어서 코딩테스트가 전부는 아니지만 나는 컴퓨터와 더욱 더 잘 대화할수있는 매개체로 코딩 테스트를 공부해 보고싶다.
개발자는 기능을 찍어내듯이 구현하기 보다 좀더 나아가 사용자나 비지니스에 있어 어떻게 효율적으로 설계할수 있을지가 더 중요하다 생각하기에 꼭 필요한 부분인것같다.
코딩 테스트에서는 주어진 문제를 이미 알고 있는 알고리즘과 자료 구조를 응용해서 해결해야하고 이 과정에서 개발자에게 필요한 문제 해결 과정을 엿볼 수있다.
먼저 주어진 문제를 정확하게 파악. 필요한 기능이 주어졌는데 이를 잘못 이해하고 개발을 진행한다면 아무것도 해결하지 못하고 시간만 버리게 된다.
그리고 효율적인 코드를 작성함으로써 그 결과가 효율적이지 못하면 좋은 코드라 할수 없다.
책에서 얘기해주는 잘 짠 코드란?
코드는 가독성과 효율성이 중요하다. 읽기 쉬운 코드는 로직에만 집중할 수 있으므로 이해하기 쉽고, 실수가 있어도 쉽게 잡아낼 수 있기 때문이다. 또 아무리 읽기 쉬운 코드라고 하더라도 효율성이 떨어진다면 코드를 사용하는 데 어려움이 있을 것이다.
가독성을 높이고 싶으면 코드의 역할에 집중하여 작성해야한다. 하나의 코드가 너무 많은 역할을 하게 되면 코드가 복잡해지고 가독성이 떨어지게된다. 따라서 코드가 길어지거나 중복되는 부분이 발생한다면 변수와 메서드, 클래스를 적극적으로 활용하여 읽기 쉬운 코드를 작성할 수 있도록 하고, 역할에 맞게 이름을 붙여 로직에 집중할 수 있도록 해야한다.
코드를 짤 때 흔히 하는 실수들?
여러 요구 조건들을 코드로 작성하다 보면 하나의 요구 조건을 처리하는 중에 다른 요구 조건을 신경 쓰게 되면서 원래 구현하려고 했던 내용은 잊게 되거나 중간에 구현이 달라 처음부터 다시 구현해야 하는데 비단 코딩 테스트뿐만 아니라 프로젝트를 할 때도 막히는 경우가 있다. 처음 작성할 때 충분한 설계 없이 프로젝트를 시작하면 어떤 기능들이 구현되어야 하는지 정확한 이정표가 없는 채로 코드를 작성해야한다. 이 상태로 프로젝트를 진행하다 보면 미처 생각하지 못한 것이 발견되어 이를 해결하는 로직을 계속 추가하게 되는데 이때 역할과 가독성은 충분히 고려되지 못해 이것이 누적되면 결국 읽기 어렵고 실수해도 찾기 어려운 코드가 되버린다.
나같은 애들은 프로젝트를 자주 엎으면서 설계를 연습해보길 책에서 권장하고 있다.
코딩할때 좋은 습관으로 디버깅과 시행착오 줄이기, 직접 설계하며 코드 작성해보기 등이 중요한 것 같다.
'코딩 테스트' 카테고리의 다른 글
두 수의 곱 (0) | 2023.04.23 |
---|---|
두수의 차 (0) | 2023.04.23 |
두수의 합 (0) | 2023.04.23 |
토할거 같았던 두 분수의 합 (0) | 2023.04.19 |
코딩 테스트를 습관처럼... (0) | 2023.04.19 |
댓글