CWN(CHANGE WITH NEWS) - 장기간 사용할 수 있는 소프트웨어 개발 팁, ′이것′ 명심하라

  • 구름많음정읍17.8℃
  • 구름많음서청주16.1℃
  • 구름많음대관령12.6℃
  • 맑음포항20.5℃
  • 구름많음군산18.4℃
  • 구름많음인천18.6℃
  • 구름조금고산22.5℃
  • 구름많음서산16.8℃
  • 구름조금수원16.5℃
  • 구름조금파주16.0℃
  • 구름많음보령18.6℃
  • 구름조금김해시19.3℃
  • 구름많음철원15.6℃
  • 구름많음의성15.4℃
  • 구름많음이천16.2℃
  • 구름조금창원19.8℃
  • 구름많음부여17.0℃
  • 구름많음영월15.2℃
  • 구름많음진주15.6℃
  • 구름많음강진군18.0℃
  • 맑음청송군13.9℃
  • 맑음영덕17.7℃
  • 맑음제주21.8℃
  • 구름많음강릉21.0℃
  • 구름많음북춘천15.9℃
  • 맑음통영19.6℃
  • 구름많음고창군17.1℃
  • 박무백령도18.9℃
  • 구름조금경주시15.7℃
  • 맑음남해19.7℃
  • 구름많음장흥17.3℃
  • 구름많음정선군14.0℃
  • 구름많음홍성17.4℃
  • 구름많음서울18.6℃
  • 구름많음추풍령14.6℃
  • 구름많음울릉도19.9℃
  • 구름조금북강릉17.9℃
  • 구름많음태백13.3℃
  • 맑음서귀포22.8℃
  • 구름많음영광군18.0℃
  • 구름많음양산시19.3℃
  • 구름조금봉화13.8℃
  • 구름많음울산17.6℃
  • 구름많음세종17.1℃
  • 구름조금제천14.3℃
  • 구름많음강화14.4℃
  • 구름조금거제17.7℃
  • 구름많음상주17.0℃
  • 구름많음홍천17.2℃
  • 맑음완도19.8℃
  • 구름많음청주20.0℃
  • 구름많음금산16.4℃
  • 구름많음춘천16.6℃
  • 흐림임실15.8℃
  • 구름많음밀양17.2℃
  • 구름많음천안16.5℃
  • 구름조금동두천16.4℃
  • 구름많음의령군14.6℃
  • 맑음성산21.2℃
  • 구름많음여수21.2℃
  • 구름많음목포20.3℃
  • 구름조금북창원20.0℃
  • 흐림광주19.7℃
  • 구름많음문경15.6℃
  • 구름조금양평16.7℃
  • 흐림부안19.6℃
  • 구름조금광양시19.4℃
  • 흐림함양군16.2℃
  • 구름조금고창17.1℃
  • 구름조금원주17.3℃
  • 구름많음대전18.0℃
  • 흐림전주18.9℃
  • 구름많음영천15.7℃
  • 구름많음해남16.3℃
  • 구름많음인제15.4℃
  • 흐림거창14.8℃
  • 구름많음진도군16.9℃
  • 구름많음대구18.3℃
  • 흐림장수14.4℃
  • 구름많음안동16.7℃
  • 구름조금울진17.4℃
  • 구름많음충주16.2℃
  • 구름많음순창군16.9℃
  • 구름조금북부산18.1℃
  • 구름많음구미18.0℃
  • 흐림산청16.6℃
  • 구름조금영주15.0℃
  • 구름많음보성군18.8℃
  • 구름많음순천15.3℃
  • 맑음부산21.9℃
  • 구름많음보은15.4℃
  • 구름많음고흥16.8℃
  • 구름많음동해19.3℃
  • 구름많음속초21.3℃
  • 흐림흑산도20.6℃
  • 흐림남원17.0℃
  • 구름많음합천16.7℃
  • 2025.10.02 (목)

장기간 사용할 수 있는 소프트웨어 개발 팁, '이것' 명심하라

최정인 / 기사승인 : 2022-07-04 21:17:27
  • -
  • +
  • 인쇄

아마존 CTO 베르너 보겔스(Werner Vogels)가 해외 테크 매체 테크리퍼블릭과의 인터뷰에서 소프트웨어 개발 팁을 전달했다. 그는 “소프트웨어 개발 시점보다 수십 년이 지난 시점에 실제로 활용하게 될 것을 전제로 삼고 작업해야 한다”라고 말했다.

소프트웨어가 개발 후 수십 년 뒤까지 존재한다면, 그 자체로도 훌륭한 개발 작업이 이루어졌다는 증거이자 많은 사용자가 시간이 흘러도 사용하고 싶어 하는 코드로 작성되었다는 사실을 시사할 것이다. 그러나 보겔스가 제안하는 정도의 수명을 갖는 코드는 생각보다 개발하기 까다롭다.

수십 년 뒤에도 훌륭한 기능을 실행할 수 있는 소프트웨어 코드를 작성하려면 어떤 점을 염두에 두어야 할까?

데이터베이스와 같은 기업 비즈니스를 위한 소프트웨어를 개발할 때, 가장 기본적인 문제 해결 접근법 하나를 따라야 한다. 일례로, 소프트웨어 개발자 마뉴엘 오덴달(Manuel Odendahl)은 ‘복잡한 인공지능(AI)’이나 ‘미친 알고리즘’이 없더라도 가치 있는 제품을 꾸준히 개발한다. 오덴달은 그 비법으로 “질문을 많이 하여 비즈니스가 어떤 데이터를 처리하는지가 아니라 어떤 정보를 필요로 하는지 이해하는 것”을 언급했다.

비즈니스 니즈를 충족시키기 위하여 애플리케이션이 어떤 정보를 소비하고 아웃풋으로 내놓아야 하는지 초점을 분명히 맞출수록 애플리케이션은 그만큼 간단해진다.

오덴달은 “정보 A로부터 B까지 가는 경로가 간단해질수록 더 나은 시스템이 탄생한다. 우리는 정확히 필요한 질문을 했기 때문에 소프트웨어가 비즈니스 문제를 해결하는 데 정조준할 수 있다”라고 말했다.

이는 수명이 긴 소프트웨어를 만들 수 있다는 점에서 중요하지만, 과소평가 받는 비법이라 할 수 있다. 코드를 최대한 간단하게 유지하므로 개발자가 몇 개월 혹은 몇십 년 후에도 코드를 수정하기 편해질 것이다. 이때 중요한 또 하나의 비법은 문서화를 제대로 하는 것이다.

제대로 된 문서는 단순해야 한다. 개발자 옹호론자인 메이슨 에거(Mason Egger)는 보는 이가 문서를 읽고 얻을 수 있는 목표를 정확하게 표기해야 한다. 쓸데없이 장황하게 말을 늘려 독자를 압도할 필요가 없다. 개발자(독자)는 문제를 해결하기 위하여 문서까지 찾아보고 있으므로 그에 필요한 정보만 주고 끝내야 한다.

에거가 언급한 바와 같이 대다수 개발자는 설명을 읽지도 않고 바로 샘플 코드부터 참고한다. 그는 그렇기 때문에 실제로 이용될 만한 예제를 이용해야 한다고 주장한다. 또한 필요한 정보를 바로 찾을 수 있도록 문서의 각 내용이 찾기 용이해야 한다. 결국 핵심은 간단하고 짧게 작성하는 것이다.

마지막으로 문서를 작성할 때 오류가 없는지 잘 확인해야 한다. 에거는 “잘못된 문서는 없는 문서만 못하다. 문서가 없다면 문제를 해결하기 위하여 다른 것을 찾겠지만, 잘못된 문서는 시간만 낭비한다”라고 설명했다.

위에 소개된 문서화 관련 팁은 먼 훗날 샘플 코드를 접한 사람이 쉽게 이해하도록 한다. 즉, 오랜 시간이 흘러도 개발자가 이용할 확률이 높아진다는 뜻이 된다. 결과적으로 소프트웨어와 소프트웨어의 문서 모두 최대한 직설적이며 간단해야 미래 사용자들이 이해하고 이용하기 수월할 것이다.

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

최신기사

뉴스댓글 >

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

댓글 0

Today

Hot Issue