반응형

코드골프란, 골프의 타수를 줄이듯이 같은 코드를 최대한 짧게 줄이는 놀이이다.

코드골프를 하는 목적은, 실제 업무에 사용하기보다는

퍼즐게임처럼 즐기는 가운데 발상의 전환을 훈련하는 데 있다.

실제 업무에서는 가독성이 중요하기 때문에, 일반적으로는 코드골프에서처럼 코딩하면 안된다.

하지만, 웹사이트의 자바스크립트 용량을 줄이기 위한 목적으로

실제 업무에 응용할 수도 있다.

 

코드골프

 

더 나은 프로그래밍을 위한 코드골프 : 즐기면서 배우는 자바스크립트 코드 퍼즐과 알고리즘

이 책은 코드골프와 알고리즘에 관한 책입니다. 코드골프는 언어명세의 지식과 알고리즘에 대한 이해, 그리고 유연한 발상을 요구하는 프로그래머를 위한 퍼즐 게임입니다. 또한 알고리즘이란 어떤 목적을 달성하기 위해 고안된 일련의 처리 순서입니다. 5개의 코드골프 문제와 6개의 알고리즘 문제가 수록되어 있고 모두 모두 자바스크립트로 작성되어 있습니다.

www.hanbit.co.kr

 

이 책에는, 코드골프를 즐기기 위한 코드를 줄이는 기법과 함께,

부수적으로 흥미로운 몇가지 알고리즘을 소개한다.

소수를 걸러내는 알고리즘, 미로를 자동생성하는 알고리즘, 최소 비용 경로 계산 알고리즘,

이미지 확대축소 알고리즘, 게임 월드맵 생성 알고리즘 및 최종적으로는 간단한 게임에 이르기까지

다른 곳에서는 찾아보기 힘든 흥미로운 내용들과 구현 방법들을 소개한다.

 

코드를 줄이기 위해서는 변수명 길이나 공백, 주석 등을 최소화하는 방법 이외에도,

같은 문제에 대한 다른 알고리즘(해결책)을 찾아내는 상상력이 필요하다.

이러한 과정을 통해 언어에 대한 이해도가 높아질 수 있고,

보는 시각을 달리 함으로써 같은 일 속에서도

기존에 발견 못한 새로운 면들을 발견할 수 있다.

 

이 책은 자바스크립트를 기본 언어로 한다.

코드를 이해하는 과정에서 머리는 좀 아프지만,

상당히 흥미롭게 페이지를 넘기면서 읽어나가고 있다.

반응형

+ Recent posts