QGroundControl(QGC) 개발자 가이드

- for Ubuntu(Linux) (8/9)

by 연화유심

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

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


1) 코드 기여 개요

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

모든 기여는 GitHub Pull Request 기반으로 진행됩니다

CI 자동 빌드 및 테스트를 통과해야 병합됩니다


2) 코딩 스타일

들여쓰기는 공백 4칸

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

포인터/참조는 타입 옆에 붙임

clang-format 사용 권장

Ubuntu에서는 `apt install clang-format`으로 설치 가능


3) 단위 테스트 (Unit Tests)

새로운 기능을 추가할 때 반드시 Unit Test 작성

PR 제출 전에 모든 테스트를 통과해야 함.

실행 방법:
```bash
cd build
ctest
```

Debug 모드에서 `QGC_UNITTEST_BUILD` 옵션 활성화 필요


4) Pull Request(PR) 절차

Fork 후 브랜치 생성

코드 작성 및 테스트 추가

clang-format으로 스타일 정리

모든 테스트 통과 확인

PR 제출 → CI 자동 빌드/테스트.

리뷰 반영 후 병합

빌드 경고가 없어야 하며, 테스트 실패 시 PR 거절


5) 라이선스

Apache 2.0 + GPLv3 듀얼 라이선스.

문서/아트워크는 CC BY 4.0.

새 코드 기여 시 라이선스 호환성 확인 필요.


6) Ubuntu 환경 기여 팁

`ctest`로 테스트 자동화.

GitHub Actions 또는 GitLab CI로 AppImage 빌드 자동화.

PR 제출 전 로컬 빌드와 테스트 필수.

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