일상/IT

개발자 : 다이어그램 단순함의 필요성

얇은생각 2023. 10. 8. 07:30
반응형

다이어그램은 유용하고 읽기 쉬운 충분한 정보를 포함해야 합니다. 그리고 쉽게 그리고 재미있게 만들 수 있어야 합니다.

다이어그램을 작성하는 것은 코드 문서화 프로세스의 중요한 부분입니다. 불행히도, 이 작업은 보통 힘들고 시간이 많이 걸리는 작업으로 간주됩니다. 다이어그램은 빠르게 너무 세분화되고 너무 상세해집니다. 가장 중요한 세부 사항은 복잡성에서 사라집니다. 

UML 다이어그램의 모호성을 줄이기 위해 개발자들은 종종 다이어그램을 읽기 위한 특정 기호나 표준화를 설정합니다. 갑자기 다이어그램이 너무 많은 기호로 가득 차서 읽기만 하면 전체 지식 계층이 필요합니다. 효과적으로 다이어그램 내에서 코딩하게 됩니다. 그리고 천 페이지의 비주얼을 구축하지 않는 한 코드가 수행하는 세부적인 수준을 표현하지 못할 것입니다.

이 중 일부는 UML 자체의 과도한 복잡성 때문이라고 할 수 있습니다. 하지만 같은 개발자들은 해결책의 일부가 될 수 있습니다.

 

 

개발자 : 다이어그램 단순함의 필요성

 

 

실시간 분석을 통해 파이프라인을 사용하지 않는 방법 

이 강연에서는 단순성과 효율성 향상을 약속하는 새로운 문제 접근 방식인 파이프라인 없는 실시간 분석 개념에 대해 살펴봅니다.

과도한 정보로 도해를 과중하게 하면 의도된 메시지가 흐려지고 독자들이 혼란스러워질 수 있습니다. 이러한 단점을 더 잘 인식해야 합니다. 세부 사항을 추구할 때 개발자들은 개념을 효과적으로 전달하는 핵심 목표를 놓쳐서는 안 됩니다.

다이어그램에는 유용하고 읽기 쉬운 충분한 정보가 포함되어 있어야 합니다. 다이어그램은 팀이 복잡한 소프트웨어 시스템의 큰 그림 세부 정보를 전달하는 데 도움이 되어야 합니다. 다이어그램은 쉽고 재미있게 만들 수 있어야 합니다.

집단적 사고방식의 전환, 새로운 도표 작성 도구, 그리고 유용한 통합에 대한 강조를 통해 도표를 작성자와 독자 사이의 정보를 전달하는 데 효과적인 도구로 되돌릴 수 있습니다. 이 과정을 다시 단순화하면 도표 작성이 다시 재미있어질 것입니다. 그리고 AI 중심의 미래에서 더 나은 의사소통을 할 수 있도록 도와줄 것입니다.

 

 

UML

다이어그램의 중복은 통합 모델링 언어(UML)로 거슬러 올라갈 수 있습니다. UML의 어리석음에 대해 제가 직접 글을 썼습니다. UML 2.2 문서는 1,000페이지가 넘었습니다. 이것이 UML이 불편하고 종종 낭비적인 사전 작업과 연관된 이유입니다.

소프트웨어 개발을 위한 모든 것을 포괄하는 언어가 되기에는 부족하지만, UML은 여전히 중요한 유산을 남깁니다. 우리는 코드나 하드 청사진을 대체하기 위해 흐름도, 상태 다이어그램, 시퀀스 다이어그램 또는 흐름도를 사용해서는 안 됩니다. 그것은 너무 많은 오버헤드를 필요로 합니다.

하지만 이 도표들은 고도의 스케치 도구로서 매우 효과적입니다. UML 2000년경에 시스템 스케치를 위한 매체로 정점을 찍었고, 패션 트렌드처럼 다시 유행하고 있습니다.

 

 

포괄성은 포괄성의 적

1990년대 UML의 대중화를 도왔던 마틴 파울러의 말을 인용한 것입니다. 이제 들을 때가 된 것 같습니다.

다이어그램은 시스템에 대한 모든 정보를 캡처할 수도 없고 캡처해서도 안 됩니다. 다이어그램은 시스템 사용 방법을 시각화하거나 프로세스의 논리적 흐름을 도표화하거나 서비스의 기능을 매핑하는 등 높은 수준의 작업에 가장 적합합니다. 다이어그램은 시스템이 서로 어떻게 대화하는지, 시스템이 내부적으로 어떻게 작동하는지 설명하고 모델을 단순화할 수 있는 영역을 식별하는 등의 작업에 유용합니다. 효과적으로 블랙박스를 제공합니다.

 

 

균형은 필수적

세부 정보는 여전히 코드 문서화에 중요합니다. 독자에게 가장 중요한 것을 우선시하는 것입니다. 세부 정보를 너무 가볍게 보는 도표도 무용지물이 될 수 있습니다. 때때로, 이러한 세부 정보를 어떻게 제시하는지에 대한 것입니다.

코드 내의 특정하고 복잡하고 낮은 수준의 세부사항에 대한 다이어그램을 만들고 싶을 수도 있습니다. 시각 자료와 차트는 여전히 매우 유용할 수 있습니다. 하지만 특정 절차의 핵심에 들어가는 별도의 다이어그램을 만드는 것이 더 나을 수도 있습니다. 그렇게 하면, 하나의 다이어그램을 모든 정보로 과밀화하는 것이 아니라, 팀원들이 코드의 다른 부분으로 얼마나 깊이 들어가는지를 선택할 수 있도록 하는 것입니다.

 

 

다이어그램을 기본으로 되돌리기 위한 세 가지 핵심

인간의 행동 변화와 유용한 소프트웨어의 조합은 다이어그램 작성을 통해 협업을 강화하는 데 도움이 될 수 있습니다:

 

 

다이어그램의 용도에 대한 집단적 사고방식 변화

다이어그램은 너무 복잡하거나 너무 단순할 때 실패하는 경우가 많습니다. 그러나 다이어그램은 의사소통 방식이기도 합니다. 명확한 의사소통이 목표일 때 정보를 제거하는 것은 직관에 반하는 것처럼 보일 수 있습니다.

하지만 너무 많은 정보는 명확성의 가장 큰 적입니다. 그것이 우리가 집단적으로 기억해야 하는 것입니다. 도표를 만들기 전에, 설명하고 싶은 것을 완전히 이해하려고 노력합니다. 전체 시스템에 대한 개요를 제공할 것입니다. 아니면 코드의 특정 부분을 깊이 파고들 것인지 계획을 세우고 각 시각에 대해 정의된 목적을 가져야 합니다. 그리고 모든 정보가 하나의 도표에 들어맞지 않더라도 항상 다른 것을 만들 수 있습니다.

 

 

더 나은 다이어그램 작성을 촉진하는 도구

비효율적인 다이어그램에 대한 책임의 일부는 개발자의 재량에 달려 있습니다. PowerPoint 또는 기타 "클릭 앤 드래그" 도구를 사용하여 다이어그램을 설계하는 것은 어려울 수 있습니다. 다이어그램을 작성하는 데 많은 시간을 할애한다면 가능한 한 많은 정보를 포함하는 것이 좋을 것입니다.

그렇기 때문에 개발자들은 빠르고 쉽게 다이어그램을 생성할 수 있는 다이어그램 제작 도구에 투자해야 합니다. 시각 자료를 만드는 것은 간단하고 재미있어야 합니다. 이것이 사실이라면 개발자들은 모든 것을 하나의 시각 자료에 집어넣어 앞으로 나아갈 수 있도록 하는 것이 아니라 특정 목적에 맞게 조정된 여러 개의 작은 도표를 만드는 것을 주저하지 않을 것입니다.

 

 

더 많은 통합으로 삶의 편의성 향상

인공지능에 대한 언급 없이 제가 모든 일을 할 것이라고 생각했다면 죄송합니다. 생성 AI를 다이어그램 도구에 통합하면 개발자들의 삶이 훨씬 쉬워질 수 있습니다. ChatGPT와 같은 도구를 사용하면 기본 다이어그램에 더 빨리 접근할 수 있습니다. 더 자세한 내용과 사람의 손길만 더하면 됩니다.

또한 코딩 도구에 다이어그램 도구를 통합함으로써 이점을 얻을 수 있습니다. 다이어그램이 완전히 별개의 프로그램이나 창이 아닌 소스 코드에 더 가까이 살 수 있다면, 개발자들은 다이어그램 자체 내에서 그렇게 많은 통신을 해야 하는 것에 대해 걱정하지 않을 것입니다. 연결이 많을수록 다이어그램의 역할이 명확해집니다.

 

 

미래: 다이어그램, 문서 및 AI

도표는 소통하는 것에 대한 명확한 목적이 있을 때 가장 효과적입니다. 이것은 미래의 일을 볼 때 정말 중요합니다.

인공지능은 더 전문화된 역할을 계속 수행할 것입니다. 그들이 가장 잘 하는 일, 즉 프로세스 관리, 제품 향상, 새로운 아이디어를 생각하는 일에 집중할 수 있게 합니다. 더 많은 프로세스가 자동화됨에 따라, 각 프로젝트 전에 인간 동료들과 명확한 방향을 설정하는 것이 중요합니다. 계속해서 소통해야만 혁신을 가속화할 수 있습니다.

도표는 동료들과 중요한 세부 사항을 소통하는 데 도움이 되며, 이를 통해 향후 협업 방식의 중요한 부분으로 활용할 수 있습니다. 도표에서 복잡성과 단순성의 적절한 균형을 맞추는 것은 더욱 중요해질 뿐입니다.

반응형