QGroundControl(QGC) 개발자 가이드

- for masOS (8/9)

by 연화유심

Part 8. Code Contribution & Coding Standards (코드 기여 및 코딩 규칙)

이 파트에서는 macOS 환경에서 QGroundControl(QGC)에 코드 기여를 하기 위한 절차와 규칙을 설명합니다. 공식 Developer Guide의 Contribute, Coding Style, Unit Tests, Pull Requests, Licenses 내용을 반영했습니다.


1) 코드 기여 개요

QGC는 오픈소스 프로젝트로 외부 기여를 환영합니다

모든 기여는 GitHub Pull Request로 제출됩니다

CI 자동 빌드/테스트를 통과해야 병합 가능합니다


2) 코딩 스타일

공백 4칸 들여쓰기

PascalCase: 클래스 이름, camelCase: 변수/함수

clang-format을 사용해 자동 정리

macOS에서는 Homebrew로 clang-format 설치 가능


3) 단위 테스트 (Unit Tests)

새로운 기능 → 반드시 Unit Test 작성

모든 PR은 테스트 통과 필수

실행 방법:
```bash
./qgroundcontrol-start.sh --unittest
./qgroundcontrol-start.sh --unittest:SpecificTest
```

Debug 모드 + `QGC_UNITTEST_BUILD` 옵션 필요


4) Pull Request(PR) 절차

Fork 후 브랜치 생성

코드 작성, 단위 테스트 추가

clang-format으로 스타일 적용

로컬 빌드와 테스트 통과 확인

GitHub에서 PR 제출

CI 빌드 및 테스트 확인 후 리뷰 → 병합


5) 라이선스

듀얼 라이선스 체계: Apache 2.0 + GPLv3

문서 및 이미지: CC BY 4.0

기여한 코드와 리소스는 동일 라이선스 정책 준수


6) macOS 환경 기여 팁

Xcode/Qt Creator에서 테스트 실행 가능

GitHub Actions, Jenkins를 활용해 dmg 빌드 및 notarization 자동화

PR 제출 전 macOS 전용 빌드 확인 권장

작가의 이전글QGroundControl(QGC) 개발자 가이드