
Creedengo是一個集體項目,旨在在代碼級別減少軟件的環境足跡。該項目的目的是提供靜態代碼分析儀的列表,以突出可能產生負面影響的代碼結構:能源和資源過度消費,“脂肪軟件”,縮短終端的壽命,等等。
Creedengo基於各種技術的不斷發展的良好實踐目錄。然後,Sonarqube插件將這些目錄作為掃描項目的規則。
警告:這仍然是一個非常早期的項目。任何反饋或貢獻都將不勝感激。請參閱貢獻部分。
現在,Creedengo支持7個技術:


有兩種插件:
代碼被解析為轉換為AST。 AST將允許您訪問代碼的一個或多個節點。例如,您將能夠訪問所有for ,探索內容等。
為了更好地了解AST結構,您可以使用AST Explorer。
該項目包含所有語言的所有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版本下載它們。
我們將插件存儲庫creedengo分配給2023年12月的每個插件的一個存儲庫。因此,根據您想要的版本,可以在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 |
| 插件版本 | Java版本 |
|---|---|
| 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 |
您是技術專家,設計師,項目經理,企業社會責任專家,生態設計專家...
您想提供公司的幫助,幫助我們組織,對該項目進行溝通?
您有提交我們的想法嗎?
我們正在傾聽您的意見,以使項目集體進展,也許與您同在!
我們需要你!
在這裡,入門包
有問題嗎?我們在這里為您服務!首先,請創建一個問題。然後,如果沒有答案,請聯繫...
在這裡,我們尊重一些過去做出了寶貴貢獻的無較大活躍的核心團隊成員。
他們為Creedengo的成功做出了貢獻:
他們支持該項目: