CWN(CHANGE WITH NEWS) - [독점] 코드 작업 생산성 저하, 오해와 진실 파헤쳐보기

  • 구름많음고산15.2℃
  • 구름많음홍천-2.1℃
  • 흐림포항2.5℃
  • 흐림경주시-0.3℃
  • 비홍성10.4℃
  • 흐림양산시4.9℃
  • 구름많음강화1.3℃
  • 흐림군산11.6℃
  • 흐림세종2.0℃
  • 구름많음춘천-2.9℃
  • 흐림순창군3.6℃
  • 흐림정선군-2.9℃
  • 흐림완도14.2℃
  • 흐림대관령1.1℃
  • 흐림영광군11.8℃
  • 흐림청송군-2.5℃
  • 흐림영천-0.5℃
  • 흐림제천-0.7℃
  • 구름많음광양시7.0℃
  • 흐림서울2.5℃
  • 흐림임실6.9℃
  • 흐림부안12.4℃
  • 흐림거제5.4℃
  • 흐림수원2.5℃
  • 구름많음진도군13.6℃
  • 흐림봉화-1.8℃
  • 구름많음해남13.0℃
  • 흐림합천0.3℃
  • 구름많음파주-1.1℃
  • 흐림부여2.2℃
  • 구름많음동해3.6℃
  • 흐림의성-1.3℃
  • 흐림고창군11.9℃
  • 흐림울산7.1℃
  • 구름많음동두천-0.1℃
  • 흐림금산12.2℃
  • 구름많음대구0.6℃
  • 흐림구미-0.2℃
  • 흐림함양군0.1℃
  • 흐림고창11.9℃
  • 흐림거창-0.5℃
  • 구름많음인제-3.3℃
  • 흐림보은1.5℃
  • 흐림상주0.8℃
  • 흐림밀양2.3℃
  • 흐림철원-2.4℃
  • 흐림태백5.1℃
  • 구름조금속초2.7℃
  • 구름많음보성군1.2℃
  • 흐림추풍령0.8℃
  • 비부산11.1℃
  • 구름많음서귀포15.7℃
  • 비창원4.9℃
  • 흐림서청주0.6℃
  • 흐림서산7.5℃
  • 흐림영월-1.8℃
  • 구름많음고흥3.7℃
  • 흐림문경0.5℃
  • 구름많음통영6.6℃
  • 구름많음성산15.2℃
  • 흐림북부산4.4℃
  • 비여수5.9℃
  • 비북강릉5.0℃
  • 구름조금백령도2.6℃
  • 흐림전주12.2℃
  • 구름많음제주15.0℃
  • 구름많음강진군3.7℃
  • 흐림천안2.0℃
  • 흐림안동-0.5℃
  • 구름많음영덕2.1℃
  • 구름많음김해시6.1℃
  • 구름많음흑산도12.4℃
  • 구름많음북창원5.6℃
  • 흐림보령10.3℃
  • 구름많음장흥2.8℃
  • 흐림원주-0.4℃
  • 흐림대전3.3℃
  • 흐림이천0.1℃
  • 흐림울릉도9.3℃
  • 흐림의령군0.1℃
  • 구름많음목포12.5℃
  • 구름많음청주2.2℃
  • 흐림북춘천-3.7℃
  • 구름많음양평0.1℃
  • 구름많음울진5.9℃
  • 흐림영주-0.2℃
  • 흐림남원4.8℃
  • 구름많음진주2.8℃
  • 흐림충주0.8℃
  • 구름많음남해4.8℃
  • 흐림광주7.4℃
  • 흐림인천3.5℃
  • 구름많음순천1.2℃
  • 흐림정읍11.6℃
  • 흐림산청0.0℃
  • 구름많음강릉2.4℃
  • 흐림장수8.8℃
  • 2026.01.15 (목)

[독점] 코드 작업 생산성 저하, 오해와 진실 파헤쳐보기

이선영 / 기사승인 : 2022-02-24 16:57:00
  • -
  • +
  • 인쇄

코드 작성 작업 시 종종 코드를 복사하여 붙이기도 한다. 그러나 일각에서는 단순한 복사 붙이기 작업이 생산성 저하의 원인이 될 수 있다고 주장한다. 실제로 복사 붙이기가 코드 작업에 독이 될까? 이에, 해외 IT 온라인 포럼 더넥스트웹이 코드 작업의 생산성 향상과 관련된 오해와 진실을 아래와 같이 설명했다.

코드 복사 붙이기는 잘못된 일이다?
오픈소스 애호가와 코드 작업 순수주의자는 코드 복사 붙이기 작업을 비판한다. 그리고 복사된 코드에서 무슨 일이 일어나는지 이해하지 못할 수도 있기 때문에 어떤 것도 복사해서는 안 된다고 주장할 것이다. 틀린 이야기는 아니다.

그러나 구글 검색 시 복사 기능의 매뉴얼 페이지를 확인하게 된다. 또한, 몇 가지 변수 이름을 조정하고 코드 조각을 삽입할 부분을 이해해야 한다. 코드 복사 붙이기 작업이 단순한 일처럼 보이지만, 사실 기본적인 지식이 없다면 불가능한 일이다.

또, 순수주의자가 주장하는 부분으로 복사하여 붙여 넣는 코드에 인쇄할 수 없는 문자가 포함되었을 위험성을 언급할 수 있다. 이러한 문자는 백스페이스나 가로 탭과 같은 문자로 화면에 표시되지 않지만 출력에 영향을 미칠 수 있다. 하지만 실무에서 복사 붙이기 과정에서 오타를 잡지 못하는 실수가 발생해도 인쇄할 수 없는 문자를 확인하지 않아 코드를 망치게 된 사례는 없다.

오히려 오픈소스 코드의 장점을 사용한 뒤 심각한 보안 위험이 발생하는 사례가 더 많다. 대표적인 사례로 시스템 관리자에 로그 정보를 시스템 관리자에게 구문 분석하는 오픈 소스 코드의 한 부분인 로그4j(Log4j)의 보안 문제를 언급할 수 있다. 지난해 말, 로그4j의 문제 때문에 클라우드플레어, 마인크래프트, 트위터 등의 서버 해킹을 유발할 수 있는 취약점이 발견되었다.

개인이 작성한 코드, 타인과의 공유는 금물?
일부 전문가는 개발자가 작성한 코드를 언제든지 활용할 수 있으며, 평생 책임져야 한다고 언급하면서 다른 이와의 코드 공유를 금기시한다. 그러나 직접 작성한 코드를 타인이 사용하도록 하는 것이 좋다. 실질적으로 다른 여러 프로젝트를 진행하면서 개인이 작업한 코드를 언제나 즉시 책임지기 어렵기 때문이다.

물론, 코드 작성자가 코드를 가장 잘 이해할 것이다. 그러나 타인이 활용하도록 하면서 이를 통해 더 많이 배우고 실력을 향상할 수 있다. 또한, 많은 개발자가 타인이 공유한 코드 작업 프로젝트에 중요한 피드백을 제공한다.

만약, 코드 작성자가 직접 작성한 코드를 책임지도록 한다면, 작성자는 코드에 대한 중요한 피드백과 참신한 아이디어를 놓치게 된다.

유닛 테스트, 자칫하면 시간·비용 낭비 지름길로 전락
2008년, 스택오버플로(StackOverflow) 설립 당시 대규모 Q&A 사이트를 구축할 확실한 방법이 없었다. 지금은 교과서적인 작업이 진행되지만, AWS 이전에는 코드 없는 웹 개발과 그래픽 포인트 앤 클릭 데이터베이스 관리가 가능했다. 무엇보다도 스택오버플로는 사용자에게 적합한 웹사이트 개발을 위해 성능을 최우선순위로 두면서 테스트를 중요도가 가장 낮은 작업으로 분류했다.

대다수 개발자가 테스트가 필수라고 주장하는 것과는 전혀 다르다. 테스트를 하지 않고도 코드 작동 여부를 확인할 수 있을까? 그러나 많은 전문가가 유닛 테스트는 비효율적인 작업이라고 입을 모아 주장한다.

테스트 실행 시간이 매우 길어 개발자의 개발 시간을 빼앗기 때문이다. 개발자가 새로운 기능을 추가하고자 할 때마다 필요한 테스트를 추가하거나 맞춤 제작하여 기존 테스트 제품군에서 테스트에 적합한 위치를 찾아야 한다.

게다가 시간이 지날수록 테스트 비용 부담 수준이 증가하는 문제도 있다. 이에, 개인 개발자 아리 주리(Ari Joury)는 매우 불안정하게 들리지만, 여러 차례에 걸친 테스트보다는 아키텍처 자체를 더 견고하게 만들어 테스트 필요성을 최소화해야 한다고 주장한다.

[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]

최신기사

뉴스댓글 >

- 띄어 쓰기를 포함하여 250자 이내로 써주세요.
- 건전한 토론문화를 위해, 타인에게 불쾌감을 주는 욕설/비방/허위/명예훼손/도배 등의 댓글은 표시가 제한됩니다.

댓글 0

Today

Hot Issue