728x90
반응형

코드리뷰 6

Progressive Refactoring

개요Progressive Refactoring은 대규모 시스템에서 코드와 아키텍처를 한 번에 전면 교체하는 방식이 아닌, 지속적이고 작은 단위의 변경을 통해 점진적으로 품질과 구조를 개선하는 소프트웨어 리팩토링 전략입니다. 이는 비즈니스 운영 중단 없이 기술 부채를 해소하고, 신뢰성 높은 코드 기반을 유지할 수 있는 실용적 접근 방식입니다.1. 개념 및 정의Progressive Refactoring은 기능은 유지하되 내부 구현을 점진적으로 개선하는 리팩토링 방법으로, 변화의 위험을 최소화하면서 유지보수성과 확장성을 높이는 데 초점을 둡니다.Small Steps: 기능 단위 또는 파일 단위의 점진적 리팩토링Safe Refactoring: 테스트/배포 자동화 기반의 안전한 변경Embedded in Flow:..

Topic 2025.07.03

InnerSource 거버넌스

개요조직 내 소프트웨어 개발의 민첩성과 협업을 극대화하기 위한 전략으로 InnerSource가 확산되고 있습니다. InnerSource는 오픈소스 방식의 개발 문화를 내부 조직에 적용하는 것으로, 그 핵심 성공 요소 중 하나는 체계적이고 투명한 **거버넌스(Governance)**입니다. 본 글에서는 InnerSource 거버넌스의 개념, 구조, 기술적 구현 방식, 기대 효과, 그리고 도입 시 고려사항을 중심으로 설명합니다.1. 개념 및 정의InnerSource 거버넌스는 조직 내부에서 오픈소스 개발 방식(자율 기여, 코드 리뷰, 투명한 이슈 관리 등)을 적용할 때 필요한 정책, 역할, 절차, 규칙 등의 체계를 말합니다.목표: 협업의 효율성과 코드 품질 향상, 기술 자산의 재사용성 극대화적용 방식: 조직..

Topic 2025.06.18

Gerrit Flow

개요Gerrit Flow는 Gerrit Code Review 시스템을 중심으로 운영되는 Git 기반 협업 워크플로우로, 개발자 간 철저한 코드 리뷰와 승인 프로세스를 통해 코드 품질을 보장하고 소프트웨어 릴리즈 신뢰성을 높이는 전략입니다. 일반적인 Git Flow, GitHub Flow와 달리 리뷰와 병합이 분리되어 있어 대규모 협업, 보안, 감사 목적에 적합합니다.1. 개념 및 정의 항목 설명 정의Gerrit 시스템에서 Change Set 단위의 코드 리뷰 및 승인을 거쳐 병합되는 Git 워크플로우 체계핵심 구성Change → Review → Verified → Submit → Merge특징리뷰 기반의 병합, 자동 테스트 연계, 권한 제어 중심Gerrit은 Google, Android AOSP 등 대..

Topic 2025.06.13

Software Productivity Techniques

개요소프트웨어 생산성 향상 기술은 개발자 및 개발 조직이 적은 리소스로 더 높은 품질의 소프트웨어를 빠르게 개발할 수 있도록 지원하는 전략과 도구를 의미한다. 이는 코드 품질 향상, 반복 업무 자동화, 협업 효율성 강화, 테스트 자동화 등 다양한 방식으로 접근할 수 있으며, 궁극적으로는 개발 비용 절감과 제품 경쟁력 확보를 목표로 한다. 본 글에서는 SW 생산성 향상 기술의 개념, 주요 접근 방식, 적용 사례 및 도입 전략을 정리한다.1. 개념 및 정의소프트웨어 생산성이란 동일한 시간과 자원으로 더 많은 기능을 정확하고 안정적으로 구현하는 능력을 의미한다. 이를 향상시키기 위해 사용하는 기술은 도구, 방법론, 자동화 시스템, 협업 프레임워크 등 다양한 요소로 구성되며, 반복적이고 수동적인 작업을 줄이고 ..

Topic 2025.04.25

Seven Touch Points for Software Security

개요Seven Touch Points는 Gary McGraw 박사가 제안한 실천 기반의 소프트웨어 보안 개발방법론으로, 실제 개발 프로세스 속에 보안 활동을 자연스럽게 통합하기 위한 7가지 핵심 접점을 제시한다. 이는 전통적인 개발 생명주기(SDLC)나 DevSecOps와도 연계 가능하며, 조직이 개발 과정 중 언제, 어떤 방식으로 보안을 고려해야 하는지를 명확히 안내한다. 특히 보안 리스크를 선제적으로 줄이고, 코딩 단계부터 운영 단계까지 보안 수준을 높이기 위한 실무적 접근법이다.1. 개념 및 정의Seven Touch Points는 보안이 개발자의 업무 흐름 속에 통합되어야 한다는 관점에서, 각 개발 단계에 삽입 가능한 7가지 보안 활동을 정의한다. 이는 보안을 외부 감사 항목이 아닌 개발 품질의 핵..

Topic 2025.04.24

리팩토링(Refactoring)

개요리팩토링은 기존 소프트웨어의 외부 동작을 변경하지 않으면서 내부 구조를 개선하는 프로세스입니다. 이는 코드의 가독성, 유지보수성, 확장성을 높이는 데 핵심적인 개발 활동이며, 클린 코드와 기술 부채 관리의 핵심 수단으로 널리 활용됩니다.1. 개념 및 정의리팩토링(Refactoring)은 소프트웨어 개발 중 코드의 기능적 동작은 유지한 채 내부 구조를 체계적으로 개선하는 활동입니다. 코드 복잡도 완화, 중복 제거, 모듈화, 네이밍 개선 등을 통해 향후 유지보수와 기능 확장을 수월하게 만듭니다.2. 특징 구분 설명 예시 외부 동작 불변사용자 입장에서는 기능 변화 없음리팩토링 전후 테스트 결과 동일점진적 개선작은 단위의 반복적인 변경메서드 추출 → 변수 명확화리스크 완화 필요테스트 기반 진행 필수테스트..

Topic 2025.04.08
728x90
반응형