
Creedengo는 코드 수준에서 소프트웨어의 환경 발자국을 줄이기위한 집단 프로젝트입니다. 이 프로젝트의 목표는 에너지 및 자원 과잉 소비, "팻웨어", 터미널 수명 단축 등의 부정적인 생태 학적 영향을 미칠 수있는 코드 구조를 강조하기 위해 정적 코드 분석기 목록을 제공하는 것입니다.
Creedengo는 다양한 기술에 대한 모범 사례의 진화 카탈로그를 기반으로합니다. 그런 다음 Sonarqube 플러그인은이 카탈로그를 프로젝트 스캔 규칙으로 구현합니다.
경고 : 이것은 여전히 매우 초기 단계 프로젝트입니다. 모든 피드백 또는 기여도에 크게 감사드립니다. 기여 섹션을 참조하십시오.
7 개의 기술은 현재 Creedengo의 지원을 받고 있습니다.


플러그인에는 두 가지 종류가 있습니다.
코드는 AST로 변환되도록 구문 분석됩니다. AST를 사용하면 코드의 하나 이상의 노드에 액세스 할 수 있습니다. 예를 들어, 모든 루프 for 액세스 할 수 있고 컨텐츠 등을 탐색 할 수 있습니다.
AST 구조를 더 잘 이해하려면 AST 탐색기를 사용할 수 있습니다.
이 프로젝트에는 모든 언어에 대한 모든 Creedengo 규칙의 사양이 포함되어 있습니다.
규칙은 루트 규칙 폴더의 ID를 기반으로 폴더별로 구성됩니다. 이러한 각 폴더에는 규칙의 메타 데이터가있는 파일과 언어 별 설명이 포함되어 있습니다.
메타 데이터 파일은 Sonarsource Analyzers Commons 라이브러리에서 지원하는 형식을 사용합니다. 어떤 값을 넣을 수 있는지 알아 보려면 공식 Sonarqube 문서를 사용하고 이미 존재하는 파일에 의존하는 것이 좋습니다.
예는 다음과 같습니다.
src/main/rules
├── EC104
│ ├── java
│ │ ├── EC104.asciidoc
│ │ ├── EC104.json
│ ├── php
│ │ ├── EC104.asciidoc
│ ├── python
│ │ ├── EC104.asciidoc
│ └── EC104.json
├── ...
주어진 언어에 대한 메타 데이터를 지정하려면 (예 : 단일 언어에 대해서만 규칙을 사용하지 않음) 언어 폴더에서 JSON 파일을 만들 수 있으며 빌드 중에 공통 파일과 병합됩니다. 특정 파일의 키는 우선 순위가 있으며 새 파일을 추가 할 수는 있지만 전역에서 삭제하지는 않습니다.
규칙에 대한 설명은 다른 페이지를 포함시키기 위해 Asciidoc 형식 (Markdown 호환성)을 사용합니다 (이 기능은 Markdown과 함께 표준으로 사용할 수 없습니다).
보다:
Docker와 함께 Creedengo 플러그인을 빠르게 살펴볼 수 있습니다. Plase 각 플러그인의 "시작"섹션을 살펴보십시오.
Creedengo 플러그인을 얻는 주요 방법은 Sonarqube Marketplace (관리 섹션에서 제공)에서 다운로드하는 것입니다. 그러나 원한다면 Github 릴리스에서 다운로드 할 수도 있습니다.
우리는 2023 년 12 월에 플러그인 리포지토리 creedengo 각 플러그인에 대해 하나의 리포지토리로 나누었습니다. 따라서 플러그인 버전은 원하는 버전에 따라 2 개의 리포지토리에서 사용할 수 있습니다.
| 플러그인 버전 | Sonarqube 버전 |
|---|---|
| 1.4.+ | Sonarqube 9.4.+ lts ~ 10.1 |
| 1.3.+ | Sonarqube 9.4.+ lts ~ 10.0 |
| 1.2.+ | Sonarqube 9.4.+ lts ~ 10.0 |
| 1.1.+ | Sonarqube 9.4.+ lts ~ 9.9 |
| 1.0.+ | Sonarqube 9.4.+ lts ~ 9.9 |
| 0.2.+ | Sonarqube 9.4.+ lts ~ 9.9 |
| 0.1.+ | Sonarqube 8.9.+ lts ~ 9.3 |
| 플러그인 버전 | 자바 버전 |
|---|---|
| 1.4.+ | 11 / 17 |
| 1.3.+ | 11 / 17 |
| 1.2.+ | 11 / 17 |
| 1.1.+ | 11 / 17 |
| 1.0.+ | 11 / 17 |
| 0.2.+ | 11 / 17 |
| 0.1.+ | 11 / 17 |
귀하는 기술 전문가, 디자이너, 프로젝트 관리자, CSR 전문가, Ecodesign 전문가입니다.
회사의 도움을 제공하고 프로젝트를 조직하고 의사 소통하는 데 도움을주고 싶습니까?
우리에게 제출할 아이디어가 있습니까?
우리는 프로젝트를 총체적으로 발전시키기 위해 당신의 말을 듣고 있습니다.
우리는 당신이 필요합니다!
여기 스타터 팩
질문이 있습니까? 우리는 당신을 위해 여기 있습니다! 먼저 문제를 만드십시오. 그런 다음 대답이 없으면 연락처 ...
여기서 우리는 과거에 귀중한 기여를 한 일부 핵심 핵심 팀원들을 존중합니다.
그들은 Creedengo의 성공에 기여했습니다.
그들은 프로젝트를 지원했습니다.