어떻게 사랑이 변하니?

지훈진·2022년 1월 31일
0

BetterProgrammer

목록 보기
10/17

변하지 않는 것은 없다. 봄날의 간다의 이영애도 어느새 50살이 넘었다... 나무위키를 찾아보니 오늘이 생일이라 하신다. 생일 축하드립니다 🎊 (아무말....)

17장. 머리 쓰기

부주의한 코드로 인해 생명이 소모된다.

아무 생각없이 코딩한 적이 누구나 몇번쯤 있었을 것으로 생각한다. '음? 파라미터가 null이네?' 하면서 if (vaule != null) { 로 감싸버린다거나... 기타 등등... 이유는 다양하다. 배포 일정이 잡혀있는데 시간이 없다거나, 잘 모르거나, 생각하기 싫거나 그 외에도 다른 수많은 이유가 있을 것이다. 이렇게 작성한 코드들은 알아보기 힘들 뿐만 아니라 요구사항을 제대로 충족하지 못할 가능성이 매우 높다. 그냥 버그덩어리를 만드는 것이다. 코드 작성을 멈추고 생각을 해야한다. 실수했음을 인정하고 바로잡아야 한다. 작성한 코드에 대해 자부심을 가질 수 있도록 생각을 하고 작성해야 한다.

18장. 변하지 않는 것은 없다

마감 시간에 맞추고 프로그래머 자신이 결과를 예상할 수 있는 수준으로 작업하다보니, 새로운 위성이 궤도를 돌듯이 새로운 기능을 추가하게 되는 것이다.

이렇게 작성한 코드들이 바로 변하지 않는 코드인데... 어떻게 생각하는가? 너무 끔찍한 상황이지 않은가. 변해야하고 성장해야 한다. 레거시를 신성히 여기지 말고(내비두지 말고) 개선해야 한다.

수정에 필요한 것은 무모함이 아니라 용기와 기술이다.

용기와 무모함, 어떻게 보면 한끝차이인 이 단어를 가르는 차이는 기술이다. 아무리 코드가 안좋다고 하더라도 오류를 줄이고, 다른 작업에 영향을 미치지 않도록 개선할 수 있다. 오히려 코드가 안좋을수록 개선의 여지가 더 많을 수도 있다. 용기는 수정이 안전하다는 확신과 명백하게 증명가능하게 코드를 작성함, 테스트에서 나온다.

19장. 코드 재사용 사례

프로젝트 간에 복사하기&붙여넣기로 작업을 실제 완료했다고 주장할 수도 있다.

자존심 있는 프로그래머라면 이런 종류의 코드 '재사용'을 용납하지 않을 것이다.

다음 사용자는 전혀 예상하지 못한 다른 요구사항을 요구한다.

그렇기 때문에 필요하지 않으면 작성하지 않아야한다. 앞서 작성했던 포스팅들에서 마르고 닳도록 이야기했다. YAGNI!

profile
집사없는 개발 고양이

0개의 댓글