사전적 의미에서 보면 유산, 산물이 된 코드라고 해석된다. 즉 누군가 떠나면서 남겨둔 코드임을 날 수 있다. 개발에서 사용되는 legacy라는 용어는 은어처럼 사용되는 부분과 기술적인 부분에서 사용되는 것 두 가지로 구분되는 것 같다. 후자는 특히 OS관련되어 불려지고 여기서는 개발에서 흔히 사용되는 레거시 코드 또는 함수를 알아보려한다.
아래에서는 레거시 코드, 레거시 함수 비슷하므로 함께 표현하되 용어는 레거시 코드로 통일하여 적어보았다. 먼저 레거시 코드라는 말은 더 이상 쓰기 힘들거나 화나게 만드는 코드를 일컫는다. 화나게 만드는 코드라... 부정적인 표현의 용어임에 틀림없다. 이런 코드는 아래와 같은 경우에 해당한다.
- 다른 코드와의 개연성을 무시한 채 Due Date만 맞춰 작성한 코드
- 코드의 종속성... 디펜던시를 낮추는 노력이 1도 없는 코드
- 코맨트 등을 전혀 남기지 않아 더 수정, 보완 등이 어려운 코드
- 기능 단위의 함수 나아가 모듈 자체가 지나치게 큰 코드
위와같이 몇 가지로 예를들어보았다. 사실 이런 기존의 코드들을 상속받아 개발을 이어 나가야하는 개발자의 어려움을 레거시 코드라는 용어를 사용함으로써 나타낼 수 있다하겠다.
코드는 계속되어야한다... Deprecated 전 까지...
다시말하면 개발 코드는 개선, 보완되어야한다. 다음 버전으로 배포, 릴리즈되면서 기능 향상 등의 개선점들이 반영되어야하는데 이를 고려하여 코딩, 개발하는 것은 사실 쉽지 않은 일이다... 여기서 개발자의 역량이 나타나는데 개발을 잘 한다라는 의미가 속도가 빠르다라는 말과는 또 다르게 사용되어야할 것 이다.
! "개발을 잘한다"는 말은?빠른 개발보다는 실제 운영함에 있어 에러 및 버그 등이 없어야하고 만약 발생하더라도 작은 단위의 코드 수정만으로 해결할 수 있는 코드, 개발이 진짜 잘하는 개발이라 하겠다... 코드의 단위가 전체 코드에 전혀 영향을 주지 않는 의존성이 낮은 코드 일수록 진정한 실력자임을 말해주는 것이다.
'개발자가 되는 길' 카테고리의 다른 글
정규식 테스트 사이트 - RegExtester (0) | 2021.10.14 |
---|---|
[번역]시작하는 이들을 위한 컨테이너, VM, 그리고 도커에 대한 이야기 (0) | 2021.09.28 |
API 테스트 툴 - POSTMAN (0) | 2021.08.23 |
알고리즘 공부를 왜 해야 하나요? (1) | 2021.08.11 |
개발자 면접 질문(자바, 스프링) (0) | 2021.07.28 |
댓글