
코드 작성 작업 시 종종 코드를 복사하여 붙이기도 한다. 그러나 일각에서는 단순한 복사 붙이기 작업이 생산성 저하의 원인이 될 수 있다고 주장한다. 실제로 복사 붙이기가 코드 작업에 독이 될까? 이에, 해외 IT 온라인 포럼 더넥스트웹이 코드 작업의 생산성 향상과 관련된 오해와 진실을 아래와 같이 설명했다.
코드 복사 붙이기는 잘못된 일이다?
오픈소스 애호가와 코드 작업 순수주의자는 코드 복사 붙이기 작업을 비판한다. 그리고 복사된 코드에서 무슨 일이 일어나는지 이해하지 못할 수도 있기 때문에 어떤 것도 복사해서는 안 된다고 주장할 것이다. 틀린 이야기는 아니다.
그러나 구글 검색 시 복사 기능의 매뉴얼 페이지를 확인하게 된다. 또한, 몇 가지 변수 이름을 조정하고 코드 조각을 삽입할 부분을 이해해야 한다. 코드 복사 붙이기 작업이 단순한 일처럼 보이지만, 사실 기본적인 지식이 없다면 불가능한 일이다.
또, 순수주의자가 주장하는 부분으로 복사하여 붙여 넣는 코드에 인쇄할 수 없는 문자가 포함되었을 위험성을 언급할 수 있다. 이러한 문자는 백스페이스나 가로 탭과 같은 문자로 화면에 표시되지 않지만 출력에 영향을 미칠 수 있다. 하지만 실무에서 복사 붙이기 과정에서 오타를 잡지 못하는 실수가 발생해도 인쇄할 수 없는 문자를 확인하지 않아 코드를 망치게 된 사례는 없다.
오히려 오픈소스 코드의 장점을 사용한 뒤 심각한 보안 위험이 발생하는 사례가 더 많다. 대표적인 사례로 시스템 관리자에 로그 정보를 시스템 관리자에게 구문 분석하는 오픈 소스 코드의 한 부분인 로그4j(Log4j)의 보안 문제를 언급할 수 있다. 지난해 말, 로그4j의 문제 때문에 클라우드플레어, 마인크래프트, 트위터 등의 서버 해킹을 유발할 수 있는 취약점이 발견되었다.
개인이 작성한 코드, 타인과의 공유는 금물?
일부 전문가는 개발자가 작성한 코드를 언제든지 활용할 수 있으며, 평생 책임져야 한다고 언급하면서 다른 이와의 코드 공유를 금기시한다. 그러나 직접 작성한 코드를 타인이 사용하도록 하는 것이 좋다. 실질적으로 다른 여러 프로젝트를 진행하면서 개인이 작업한 코드를 언제나 즉시 책임지기 어렵기 때문이다.
물론, 코드 작성자가 코드를 가장 잘 이해할 것이다. 그러나 타인이 활용하도록 하면서 이를 통해 더 많이 배우고 실력을 향상할 수 있다. 또한, 많은 개발자가 타인이 공유한 코드 작업 프로젝트에 중요한 피드백을 제공한다.
만약, 코드 작성자가 직접 작성한 코드를 책임지도록 한다면, 작성자는 코드에 대한 중요한 피드백과 참신한 아이디어를 놓치게 된다.
유닛 테스트, 자칫하면 시간·비용 낭비 지름길로 전락
2008년, 스택오버플로(StackOverflow) 설립 당시 대규모 Q&A 사이트를 구축할 확실한 방법이 없었다. 지금은 교과서적인 작업이 진행되지만, AWS 이전에는 코드 없는 웹 개발과 그래픽 포인트 앤 클릭 데이터베이스 관리가 가능했다. 무엇보다도 스택오버플로는 사용자에게 적합한 웹사이트 개발을 위해 성능을 최우선순위로 두면서 테스트를 중요도가 가장 낮은 작업으로 분류했다.
대다수 개발자가 테스트가 필수라고 주장하는 것과는 전혀 다르다. 테스트를 하지 않고도 코드 작동 여부를 확인할 수 있을까? 그러나 많은 전문가가 유닛 테스트는 비효율적인 작업이라고 입을 모아 주장한다.
테스트 실행 시간이 매우 길어 개발자의 개발 시간을 빼앗기 때문이다. 개발자가 새로운 기능을 추가하고자 할 때마다 필요한 테스트를 추가하거나 맞춤 제작하여 기존 테스트 제품군에서 테스트에 적합한 위치를 찾아야 한다.
게다가 시간이 지날수록 테스트 비용 부담 수준이 증가하는 문제도 있다. 이에, 개인 개발자 아리 주리(Ari Joury)는 매우 불안정하게 들리지만, 여러 차례에 걸친 테스트보다는 아키텍처 자체를 더 견고하게 만들어 테스트 필요성을 최소화해야 한다고 주장한다.
[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]