나쁜코드는 코드를 고칠때 마다 엉뚱한 곳에서 문제가 생긴다. 매번 얽히고 설킨 코드를 '해독'해서 또 얽히고 설키게 코딩을 한다.
나쁜 코드가 쌓일수록 팀 생산성은 떨어진다. 결국 인력을 추가로 투입하고, 또 나쁜 코드를 만들게 되고 결국 재설계로 간다.
한 줄만 고치면 될거라 생각한 작업이 여러 모듈을 수정하게 되는 경험을 한적이 있다.
원래 설계를 뒤집는 방향으로 요구사항이 변했다고 불평한다.
일정이 촉박해 제대로 할 시간이 없었다고 한탄한다.
'이 책을 읽기 전까지 나도 많은 핑계를 했고 나쁜코드가 되는 건 내 잘못이 아니라고 생각했다.'
하지만 개발자에게 정보를 요구하고, 현실성을 자문하고, 일정을 묻고, 개발자가 계획 속에 많은 관여를 한다.
그러므로 프로젝트의 실패는 개발자에게 커다란 책임이 있다.
관리자는 일정을 사수하는 것이 그들의 책임이고, 좋은 코드를 사수하는게 우리의 책임이다.
상사가 시킨다는 이유로 좋은 코드를 사수하지 못하는 것은 어찌됐든 우리의 책임을 다하지 못한 것이다.
기존 코드를 읽어야 새로운 코드를 작성할 수 있고, 수정할 수 있다. 주변 코드가 읽기 쉬우면 새로운 코드를 짜기도 쉽다. 주변 코드를 읽기 어려우면 새 코드를 짜기도 어렵다. 쉽고 빠르게 가려면 읽기 쉬운 코드를 만들어야한다.
나쁜코드는 코드를 고칠때 마다 엉뚱한 곳에서 문제가 생긴다. 매번 얽히고 설킨 코드를 '해독'해서 또 얽히고 설키게 코딩을 한다.
나쁜 코드가 쌓일수록 팀 생산성은 떨어진다. 결국 인력을 추가로 투입하고, 또 나쁜 코드를 만들게 되고 결국 재설계로 간다.
한 줄만 고치면 될거라 생각한 작업이 여러 모듈을 수정하게 되는 경험을 한적이 있다.
원래 설계를 뒤집는 방향으로 요구사항이 변했다고 불평한다.
일정이 촉박해 제대로 할 시간이 없었다고 한탄한다.
'이 책을 읽기 전까지 나도 많은 핑계를 했고 나쁜코드가 되는 건 내 잘못이 아니라고 생각했다.'
하지만 개발자에게 정보를 요구하고, 현실성을 자문하고, 일정을 묻고, 개발자가 계획 속에 많은 관여를 한다.
그러므로 프로젝트의 실패는 개발자에게 커다란 책임이 있다.
관리자는 일정을 사수하는 것이 그들의 책임이고, 좋은 코드를 사수하는게 우리의 책임이다.
상사가 시킨다는 이유로 좋은 코드를 사수하지 못하는 것은 어찌됐든 우리의 책임을 다하지 못한 것이다.
기존 코드를 읽어야 새로운 코드를 작성할 수 있고, 수정할 수 있다. 주변 코드가 읽기 쉬우면 새로운 코드를 짜기도 쉽다. 주변 코드를 읽기 어려우면 새 코드를 짜기도 어렵다. 쉽고 빠르게 가려면 읽기 쉬운 코드를 만들어야한다.