2020. 5. 25.

더 나은 마인드 맵핑이 더 나은 코딩을 돕습니다

Anne

소프트웨어 개발자이자 저명한 프로그래밍 잡지의 편집자인 Andrew는 코드 작성 시 명확하고 신뢰할 수 있는 코드를 제공하기 위해 노트를 작성하는 것의 이점을 자주 논의해왔습니다. 그는 코딩할 때 관찰과 수행할 작업을 구조화된 문서로 기록하면 프로젝트에서 자신이 어디에 있는지, 어디로 가야 하는지 추적하는 데 도움이 된다고 생각합니다.

다양한 방법으로 이 노트를 지능적으로 기록하는 방법을 시도한 후, 그는 마인드맵이 우아한 솔루션임을 발견했습니다. 그는 자신이 작업 중인 프로젝트의 일부를 마인드맵에 배치하고, 이를 메모와 해야 할 작업으로 장식할 수 있었으며, 이는 쉽게 찾을 수 있었습니다.

이 접근 방식은 그가 작업 중인 코드에 집중할 수 있도록 정신 공간을 정리하면서 필요로 하는 맥락 정보를 잃지 않도록 도와줍니다. 그는 또한 다음 인터뷰에서 설명한 대로 코드를 분석할 때 정신 지도를 사용합니다.

자기소개를 해 주세요.

지난 5년 동안 저는 Java Magazine (Oracle에서 발행)의 편집자였습니다. 그 이전에는 Dr. Dobb’s Journal의 편집장이었습니다. 그리고 그 이전에 몇 개의 프로그래밍 출판물의 편집자 역할을 했습니다. 저는 소프트웨어 개발자로 커리어를 시작했고, 계속해서 다양한 오픈 소스 프로젝트에 기여하고 저 자신의 프로젝트를 진행하면서 프로그래밍을 부업으로 해왔습니다.

즐기는 활동은 무엇인가요?

저는 피아노를 공부합니다. 프로그래밍보다 훨씬 어렵습니다. 피아노의 전문가가 되는 길은 매우 험난합니다. 대부분의 프로그래머는 자신의 프로그래밍 실력을 과신하는 경향이 있다고 생각합니다. 저는 옛 코드를 보고 어떻게 그런 코드를 작성했는지 의문이 생길 때까지 자신감이 넘칩니다. 하지만 피아노는 그 과정 내내 겸손이 따릅니다. 마스터 피아니스트의 수준이 얼마나 더 배울 것이 많고 도달할 수 없는지 항상 인식하고 있습니다.

마인드시트는 당신의 삶이나 일에 어떻게 도움이 되나요?

저는 두 가지 분야에서 마인드맵을 사용합니다:


  1. 가족 및 친구들과의 작업 및 프로젝트 브레인스토밍;

  2. 프로그래밍. 나중에 설명할 것처럼, 소프트웨어 개발에서 3가지 주요 목적으로 마인드맵을 사용합니다.

XMind를 얼마나 오래 사용하고 계신가요?

아마도 6년 또는 7년 정도 되었을 것입니다; 더 오래되었을지도 모릅니다.

개발자에게는 보통 사용되지 않는 XMind를 코딩에 사용하기 시작한 이유는 무엇인가요?

처음에는 애자일의 아버지인 Kent Beck이 프로그래밍할 때 모든 결정을 기록하는 것이 좋은 습관이라고 제안한 것으로 시작되었습니다. (중요한 것들 예를 들어: “이 변수의 최대 값을 70으로 유지하겠습니다.”, “사용자가 주문 시 분수 값을 입력할 수 있도록 하겠습니다.”와 같은 결정 및 “이 새로운 코드를 다루기 위해 통합 테스트를 확장해야 한다.”와 같은 작은 결정) 단순히 이러한 결정을 기록하는 것만으로는 충분하지 않다는 것을 알았습니다. 하지만 프로젝트 작업/결함 추적기에 이를 넣는 것은 과도한 것으로 나타나, 저는 작업 중인 프로젝트의 일부를 개발하여 이러한 미세한 결정과 메모로 장식한 마인드맵을 만들기 시작했습니다. 그런 다음, 이를 찾고 검토하는 데 매우 유용했습니다.

또한 기능 설계 작업 시 마인드맵을 사용합니다. 새로운 기능을 최상위 주제로 시작하고 하위 기능을 위한 가지를 분리한 후, 이러한 가지에 결정을 첨부하고 구현 메모, 알림, 아마도 객체와 메소드의 제안된 이름 같은 것들을 포함합니다. 이를 통해 단일 코드를 작성하기 오래전에 코드를 상세하게 생각할 수 있습니다. 많은 경우, 여러 메소드를 포함하는 어떤 가지를 다른 가지로 옮기려 합니다. 이를 통해 쉽게 변경할 수 있고 코드를 작성하기 시작할 때 내가 어디로 가는지에 대한 자신감을 높여줍니다.

이것은 도구에 HTML을 추가하는 새로운 기능의 사례입니다:

Mind map illustrating HTML5 support, covering output verification, plugin details, and startup process.

마지막으로 낯선 코드를 읽을 때 마인드맵을 사용하기 시작했습니다. 대부분의 프로그램은 계층적 아키텍처를 갖고 있으며, 이는 마인드맵 표현에 놀랄 정도로 적합합니다. 이것은 iText 7이라는 라이브러리에서의 분석이며, 약간 덜 알려진 사용 사례이지만 실용적입니다.

⚠️ 이미지 누락

이 방식으로 코드를 읽으며 마인드맵에서 어디로 가는지 보고, 현재 위치로 어떻게 왔는지 볼 수 있습니다. 또한, 현재 위치로 이끄는 경로를 볼 수 있습니다. 그리고 읽는 동안, 나중에 다시 참조할 수 있는 문서를 개발하고 있습니다. 이 사용 사례는 아직 실험 중입니다.

당신이 좋아하는 XMind의 기능/특징은 무엇입니까? 왜 그렇게 생각하십니까?

솔직히 말해서, 사용이 편리하다는 것입니다. 머릿속에 있는 것을 마인드맵에 빠르게 넣을 수 있습니다. 이는 매우 좋고, 자주 시간이 중요할 때 캡처하려는 것이 있기 때문입니다.

어떻게 생산성을 유지합니까? 사용하는 다른 생산성 앱이 있습니까?

이 주제에 대해 다양한 사설에서 많은 글을 써왔습니다. 저는 방해 요소 제거, 좋은 도구 사용, 클래식 음악 청취가 모두 도움이 된다고 생각합니다.


커피 또는 차?

아침을 시작하기 위해 커피. 그런 다음 대부분의 시간 동안 차. 다른 이진 옵션에 대해서는: 개보다 고양이, 공백보다는 탭, 브람스보다는 바그너, 모네보다는 마네.

메모: 사진 제공 Bob Adler

더 많은 게시글