संज्ञानात्मक जटिलता (आरईएसटी एपीआई का उपयोग करके) द्वारा क्रमबद्ध परियोजना में शीर्ष 500 फाइलें कैसे प्राप्त करें? इरादा किसी अन्य टूल के साथ उपयोग के लिए मीट्रिक को निर्यात करना है।

-1
Dominykas Mostauskis 1 मई 2020, 17:41

1 उत्तर

सबसे बढ़िया उत्तर

वर्तमान सोनारक्यूब पर (8.2, हालांकि यह दस्तावेज़ीकरण के अनुसार पुराने संस्करणों के साथ भी काम करेगा), और यह मानते हुए कि आपका उदाहरण localhost:9000 पर है और प्रोजेक्ट का नाम project1 है, यह बैश स्क्रिप्ट curls सोनारक्यूब शीर्ष 500 फाइलों और उनके संज्ञानात्मक जटिलता मूल्यों के लिए, संज्ञानात्मक जटिलता द्वारा क्रमबद्ध, फिर इसे jq के साथ प्रिंट करता है, और इसे less में प्रदर्शित करता है:

#!/bin/bash                                                                                                                                                                 

curl \                                                                                                                                                                      
"localhost:9000"\                                                                                                                                                           
"/api/measures/component_tree?"\                                                                                                                                            
"component=project1&"\                                                                                                                                                          
"strategy=leaves&"\                                                                                                                                                         
"metricKeys=cognitive_complexity&"\                                                                                                                                         
"s=metric&"\                                                                                                                                                                
"metricSort=cognitive_complexity&"\                                                                                                                                         
"asc=false&"\                                                                                                                                                               
"ps=500" \                                                                                                                                                                  
| jq "[.components[] | {path: .path, cognitive_complexity: .measures[0].value}]" \                                                                                                                                                               
| less

उपरोक्त स्क्रिप्ट इस प्रकार आउटपुट उत्पन्न करती है:

[
{
  "path": "desktop/src/main/java/bisq/desktop/main/offer/MutableOfferViewModel.java",
  "cognitive_complexity": "319"
}
{
  "path": "desktop/src/main/java/bisq/desktop/main/offer/offerbook/OfferBookView.java",
  "cognitive_complexity": "304"
}
{
  "path": "p2p/src/main/java/bisq/network/p2p/network/Connection.java",
  "cognitive_complexity": "228"
}
{
  "path": "desktop/src/main/java/bisq/desktop/main/support/dispute/DisputeView.java",
  "cognitive_complexity": "225"
}
{
  "path": "desktop/src/main/java/bisq/desktop/util/GUIUtil.java",
  "cognitive_complexity": "192"
}
...
1
Dominykas Mostauskis 1 मई 2020, 17:55