좋은 코드란?

728x90

코딩공부를 시작하면 문법부터 배우게 되는데, 익숙해지게 되면 실제로 코딩을 할 수 있게된다.

어... 이게되네...? 이렇게 써내려가는 코드는 사실 구멍난 곳에 테이프를 바르는

임시방편으로 막 짜여진 코드일 확률이 높다.

 

'좋은코드'  사실 이런 초보개발자들에게 돌아가는 코드가 좋은 코드가 아닌가?

하지만 나중에 기능수정을 할 때 모든 것을 엎고 수정하면서 눈물을 흘린다.

 

그래서 사실 개발 공부를 할 때, 코딩을 시작하기 전에 좋은 코드에 대한 기준을 알려주는 것이 필요하다고 생각한다.

실무에서 사용하는 '좋은코드'란 무엇을 의미하는지 정말 초보자 입장에서 간단하게 알려준 강의가 있어서 정리해보았다.

 


 

1. 안정성

예상치 못한 상황에서 문제가 발생하지 않고 잘 작동해야한다.

소프트웨어의 특징은 클라이언트 환경이 수시로 변한다는 것이다. 사용하는 환경에 따라 달라지기도하고 특히 서비스를 제공하는 입장에서는 수만가지 예상치 못한 위험이 도사리고있다. 하지만 그렇게 빠르게 변화하는 상황 속에서도 문제가 발생하지 않고 잘 작동해야한다는 것이 '안정성'이다.

 

2. 확장성

 서비스는 수시로 확장되고 바뀌기 때문에 코드 전체를 다 갈아 엎지 않고, 구문 단위로 바꿀 수 있어야한다.

소프트웨어 서비스를 다루다보면 잦은 변화가 있기 마련이다. 또한 서비스 확장이 경쟁력인 시대에 서비스확장은 필수적이다. 하지만 하나를 바꿀 때 마다 전체를 수정해야한다면 환경도 불안정해지고 스트레스 받는 상황의 연속일 것이다. 고로 좋은 코드란 기능을 확장하거나 변경할 때 많은 것을 건들지 않고 변경할 수 있는 코드를 의미한다.

 

3. 성능

같은 기능이더라도 코드가 어떻게 짜여졌는지에 따라 성능의 차이가 난다.

같은 기능이고 같은 원리로 돌아가지만 어떤 프로세스로 처리했는지에 따라 처리하는 속도나 성능의 차이가 있기 마련이다. 당연히 많은 것을 처리하는 소프트웨어 환경에서는 빠르고 좋은 성능을 내는 것을 기대한다. 

 

4. 이해가 잘 되는 코드

여러 사람이 협업해서 만드는 것이 많다. 코드를 봤을 때 바로 이해가 바로 되는 코드.

이것이 앞선 내용보다는 추상적인 개념이지만 대부분의 실무에서는 다른사람들과 협업하는 일이 많기 때문에 유지보수의 측면에서도 이해가 잘 되는 코드를 짜는 것이 필요하다. 길고 멋지다고 좋은 코드가 아니라, 간결하고 봤을 때 직관적으로 이해되는 단순한 코드, 그 이후에 무엇을 덧붙이거나 수정할 일이 있더라도 한나절은 분석해야하는 복잡함이 없는 코드라는 뜻이다.


아직까지는 공부하면서 '작동하는 코드'를 만드는데 급급한 초보 개발자이지만, 이런 기준을 항상 생각하고,

공부하고싶다. 사실 코딩을 하면 글쓰기와 비슷하다는 생각이든다.

 

글을 잘 쓰는 것도 마찬가지이다. 모든 사람이 읽었을 때 직관적으로 이해가 쉬워야하지만 깊은 인사이트가 담겨있는 글이 좋은 글이고, 그 글을 토대로 많은 확장을 할 수 있도록 영감을 불러일으키는 것이 좋은 글이라고하지않는가?

 

문제해결능력, 수학적 사고 이런 것 하나 없는 문과인간인 내가 코딩이 진심으로 흥미로운 부분이 이 부분이 것 같다.

진심으로 우아하고 간견한 시 같은 코드를 쓰는 그날까지

성장하는 과정을 기록할 예정이다.

 

728x90