कोड कवरेज और स्थैतिक विश्लेषण
JaCoCo जैसे कोड कवरेज उपकरणों और Checkstyle/PMD जैसे स्थैतिक विश्लेषण उपकरणों को अपने Gradle बिल्ड में एकीकृत करें।
कोड कवरेज और स्थैतिक विश्लेषण, CoddyKit पर Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
Code quality में आपका स्वागत है
विश्वसनीय software के लिए उच्च-गुणवत्ता वाला code सुनिश्चित करना अत्यंत महत्वपूर्ण है। इस पाठ में हम दो प्रमुख प्रथाओं का अध्ययन करेंगे:
- Code coverage: आपके code का कितना भाग test किया गया है?
- Static analysis: क्या आपका code अच्छी प्रथाओं और style guidelines का पालन करता है?
ये tools समस्याओं की जल्दी पहचान करके आपको बेहतर और अधिक आसानी से maintain किए जा सकने वाला code लिखने में मदद करते हैं।
Code coverage को समझना
Code coverage आपके tests द्वारा चलाए गए source code के प्रतिशत को मापता है। यह एक metric है, जो बताता है कि आपके tests application के logic को कितनी अच्छी तरह जाँच रहे हैं।
हालाँकि अधिक coverage bug-मुक्त code की गारंटी नहीं देता, फिर भी यह अच्छी टेस्टिंग की नींव का संकेत देता है और उन क्षेत्रों का पता लगाने में मदद करता है जिनका test नहीं किया गया है।
कवरेज के लिए JaCoCo से परिचय
JaCoCo (Java Code Coverage) Java प्रोजेक्ट के लिए एक लोकप्रिय और निःशुल्क कोड कवरेज लाइब्रेरी है, जो Groovy के साथ सहज रूप से काम करती है। यह Gradle जैसे निर्माण उपकरणों के साथ बहुत अच्छी तरह एकीकृत होती है।
JaCoCo विस्तृत रिपोर्ट तैयार करता है, जिनसे पता चलता है कि आपके कोड के कौन-से हिस्से परीक्षणों द्वारा जाँचे गए हैं और कौन-से नहीं। इससे आपको कमियों की पहचान करने में सहायता मिलती है।
JaCoCo प्लगइन और मूल कॉन्फ़िगरेशन
JaCoCo को एकीकृत करने के लिए अपने build.gradle में इसका प्लगइन लागू करें। इससे कार्य अपने-आप जुड़ जाते हैं और आप रिपोर्ट तैयार करने की प्रक्रिया को कॉन्फ़िगर कर सकते हैं तथा HTML और XML जैसे प्रारूप निर्दिष्ट कर सकते हैं।
संदर्भ के लिए हम Java/JUnit का मूल सेटअप भी शामिल करेंगे।
plugins {
id 'java'
id 'jacoco'
}
repositories {
mavenCentral()
}
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.0'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.10.0'
}
test {
useJUnitPlatform()
}
jacoco {
toolVersion = "0.8.11" // Use a recent version
}
jacocoTestReport {
reports {
xml.required = true
html.required = true
csv.required = false // Optional: disable CSV
}
}JaCoCo कार्य चलाना
build.gradle में कॉन्फ़िगरेशन पूरा करने के बाद, आप अपने टर्मिनल से JaCoCo की परीक्षण रिपोर्ट वाला कार्य चला सकते हैं। यह आदेश आपके परीक्षण चलाएगा और उसके बाद कवरेज रिपोर्ट तैयार करेगा।
इंटरैक्टिव HTML रिपोर्ट build/reports/jacoco/test/html/index.html में मिल जाएगी।
// In your terminal:
// gradlew clean test jacocoTestReportस्थिर विश्लेषण को समझना
स्थिर विश्लेषण आपके कोड को वास्तव में चलाए बिना उसकी जाँच करने की प्रक्रिया है। यह आपके कोड के लिए लिंटर या वर्तनी-जाँचक जैसा है, जो चलाने के समय से पहले संभावित समस्याओं की पहचान करता है।
यह इन जैसी समस्याओं की पहचान करने में सहायता करता है:
- कोडिंग मानकों का उल्लंघन
- संभावित बग (जैसे, रिक्त संकेतक का गलत संदर्भण)
- सुरक्षा संबंधी कमियाँ
शैली के लिए Checkstyle से परिचय
चेकस्टाइल एक विकास उपकरण है, जो प्रोग्रामर को ऐसे Java (और अक्सर Groovy) कोड लिखने में सहायता करता है, जो किसी कोडिंग मानक का पालन करता हो। यह पहले से निर्धारित नियमों के समूह के अनुसार कोड की जाँच करने की प्रक्रिया को स्वचालित करता है।
शैली संबंधी उल्लंघनों और सामान्य त्रुटियों को जल्दी पकड़कर यह कोड की एकरूपता और पठनीयता बढ़ाता है।
Checkstyle प्लगइन और मूल कॉन्फ़िगरेशन
चेकस्टाइल को एकीकृत करने के लिए अपने build.gradle में इसका प्लगइन लागू करें। आमतौर पर आपको इसे नियमों वाली फ़ाइल का स्थान बताना होगा, जो प्रायः आपके प्रोजेक्ट की config/checkstyle निर्देशिका में होती है, या आप डिफ़ॉल्ट नियमों का उपयोग कर सकते हैं।
यह कॉन्फ़िगरेशन HTML और XML जैसे उपयोगी प्रारूपों में रिपोर्ट तैयार करना भी सुनिश्चित करता है।
// build.gradle
plugins {
id 'java'
id 'jacoco'
id 'checkstyle' // Add this line
}
// ... other existing configurations like repositories, dependencies, test block ...
checkstyle {
toolVersion = "10.12.7" // Use a recent version
// Point to your custom ruleset file (e.g., a Google style guide)
configFile = file("${project.rootDir}/config/checkstyle/checkstyle.xml")
}
tasks.withType(Checkstyle) {
reports {
xml.required = true
html.required = true
}
}Checkstyle कार्य चलाना
कॉन्फ़िगरेशन के बाद, आप अपने टर्मिनल से चेकस्टाइल चला सकते हैं। यह आपके स्रोत कोड का विश्लेषण करेगा और परीक्षणों को संकलित या चलाए बिना रिपोर्ट तैयार करेगा।
मुख्य स्रोत कोड की HTML रिपोर्ट build/reports/checkstyle/main.html में मिलेगी।
// In your terminal:
// gradlew checkstyleMainगुणवत्ता उपकरणों पर त्वरित जाँच
आपने कोड गुणवत्ता के लिए दो शक्तिशाली उपकरणों के बारे में सीखा है। आइए अपनी समझ की जाँच करें।
पुनरावलोकन: गुणवत्ता आश्वासन
इस पाठ में आपने सीखा कि अपने Gradle निर्माण में आवश्यक गुणवत्ता आश्वासन उपकरणों को कैसे एकीकृत किया जाता है:
- JaCoCo: कोड कवरेज मापने के लिए, जिससे पता चलता है कि आपके कोड का कितना भाग परीक्षणों द्वारा चलाया गया है।
- चेकस्टाइल: स्थिर विश्लेषण के लिए, जो कोडिंग मानकों को लागू करता है और कोड चलाए बिना संभावित समस्याओं की पहचान करता है।
उच्च-गुणवत्ता वाले, पठनीय और आसानी से रखरखाव योग्य सॉफ़्टवेयर को बनाए रखने के लिए ये उपकरण अत्यंत महत्वपूर्ण हैं।
एआई शिक्षक के साथ Groovy सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “कोड कवरेज और स्थैतिक विश्लेषण” पाठ निःशुल्क है?
हाँ—“कोड कवरेज और स्थैतिक विश्लेषण” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“कोड कवरेज और स्थैतिक विश्लेषण” में मैं क्या सीखूँगा?
JaCoCo जैसे कोड कवरेज उपकरणों और Checkstyle/PMD जैसे स्थैतिक विश्लेषण उपकरणों को अपने Gradle बिल्ड में एकीकृत करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“कोड कवरेज और स्थैतिक विश्लेषण” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- यूनिट और एकीकरण परीक्षण
- परीक्षण रिपोर्ट और फ़िल्टरिंग
- कोड कवरेज और स्थैतिक विश्लेषण
- परीक्षण फ़िक्स्चर और साझा परीक्षण कोड