개발 4

Clean Code 3장. 함수

프로그래밍을 배우기 시작하고 첫 번째... 는 아니고 많았던 의구심 중 하나입니다. 왜 우리는 함수를 사용하는가 main 함수에 10000줄에 다르는 모든 로직을 넣고 실행해도 코드는 돌아가지만 한 달 뒤에 몇 줄의 코드를 수정하려고 할 때 어디에 어떤 코드가 있는지 찾는 건 끔찍합니다... 함수는 여기서 등장합니다. 함수는 기능을 구분합니다. 정말 쉽게 생각해서 100줄의 코드당 하나의 함수로 치환한다고 생각합시다. 그럼 우리가 봐야할 코드는 100개의 함수 이름과 그 안의 로직 100줄로 줄어듭니다.  그렇다고 무턱대고 100줄씩 잡을 수는 없고 어떻게 함수를 나눌 수 있을까요? 기능 별로 나누면 됩니다. 최대한 작게. 그리고 알아보기 쉽게 이름을 붙입니다. Account getAccount(int ..

개발 2024.06.11

Clean Code 2장. 의미 있는 이름

본격적으로 어떻게 하면 좋은 코드를 작성할 수 있을지 고민해 봅시다.이번 장의 주제는 적절한 이름을 짓는 것 입니다. 의미있는 단어를 사용합시다.int r, d; 이런 코드는 주로 알고리즘을 풀이에서 볼 수 있습니다. 남에게 보여줄 필요가 없고 시험을 위해 짧은 시간안에 풀이해야 하기 때문입니다. 물론 과거에는 용량을 신경쓰느라 적은 코드를 쓰는 것이 좋은 코드로 인정받기도 했습니다.  하지만 코드는 남 뿐만 아니라 30분 후의 자신도 보게 됩니다. 가독성이 떨어지는 코드를 디버깅하는 것만큼 끔찍한 일은 없습니다. 좀더 확실한 이름을 지어서 의미를 분명히 해주세요int radius, distance;   착각할 만한 이름을 사용하지 맙시다.int list;int linux;int photoInTheBox..

개발 2024.06.11

Clean Code 1장. 깨끗한 코드

코드가 사라질 날이 올까요? 미래는 어떻게 될지 모르지만, 지금까지는 꼼꼼히 요구사항을 작성해서 Ai에게 주면 Ai가 열심히 코딩을 하고, 우리가 그 코드를 돌리고 외칩니다. WTF! 다음에는 꼭 한번에 돌아가는 요구사항을 Ai에게 전달하리라.. 여기서 요구사항이란 추상화된 코드와 같습니다. "이런 로직을 짤건데, 조건은 이렇고, 이런 상황에서 이렇게 동작해야해" main... if... while... 표현하는 방식이 다를 뿐이죠 그럼 어떻게 요구사항을, 코드를 잘 전달할 수 있을까요? 모릅니다. 다만 이렇게 하면 안된다더라를 모아서 나쁜 코드라고 부를 수는 있겠죠 시간이 없어서 급하게 코드를 짜면서 나중에 리펙토링하자고 생각하지만 제가 제 코드를 다시 볼 때는 코드가 안돌아가서 밖에 없더군요. 그때 ..

개발 2024.06.10

Clean Code

본 글은 로버트 C.마틴의 Clean Code 를 읽고 느낀점을 적는 학습 용도의 글입니다. 저는 지금 framwork 개발자로 일을 하고 있지만 전에는 벡엔드 개발자로 준비하고 있었습니다. 나중에는 어떤 개발을 할지 또 모르죠 개발자가 그렇죠 뭐.. 안주하지 말고 계속 새로운 지식을 배우고 나아가야 합니다. 하지만 개발에 몸 담고 있다면 어디서든 필요한 지식이 몇가지 있습니다. 그 중 하나가 코드를 통해 소통하는 방법입니다. 그 대상은 남이 될 수도, 과거의 자신이 될 수도, 또 미래의 제가 될 수도 있습니다. 이 책을 읽고 조금이라도 말이 통하는 사람이 되었으면 좋겠습니다. 다만 책을 한권만 읽은 사람이 무섭다고들 하잖아요? 글의 학습에 앞서 아무리 훌륭한 방법이라도 시간의 흐름이나 관점에 따라 더 ..

개발 2024.06.10