CodeGym /Java Blog /சீரற்ற /IntelliJ ஐடியா: குறியீட்டு பாணி மற்றும் குறியீடு வடிவமைப்...
John Squirrels
நிலை 41
San Francisco

IntelliJ ஐடியா: குறியீட்டு பாணி மற்றும் குறியீடு வடிவமைப்பு

சீரற்ற குழுவில் வெளியிடப்பட்டது
ஒரு நிரலாக்க மொழி பேசும் மொழிக்கு மிகவும் ஒத்ததாகும். ஒரே வித்தியாசம் என்னவென்றால், இது ஒரு சிறப்பு மொழியாகும், இதன் முக்கிய நோக்கம் கணினியுடன் தொடர்புகொள்வதை எளிதாக்குகிறது, இது கணினிக்கு நாம் என்ன செய்ய வேண்டும் என்பதை விளக்குகிறது. ஆனால் நீங்கள் கணினியுடன் தனிப்பட்ட உரையாடலை மேற்கொள்ள முடியாது. நீங்கள் ஒரு நிரலாக்க மொழியைக் கற்கத் தொடங்கியபோது, ​​புத்தகங்கள் அல்லது CodeGym போன்ற சில கல்வி ஆதாரங்களைப் பார்த்தீர்கள். இந்த ஆதாரம் கணினி புரிந்துகொள்ளும் குறியீட்டைக் காட்டியது. ஆனால் ஜாவா மொழியைப் பற்றி நீங்கள் கற்றுக் கொள்ளும்போது நீங்களும் அதைப் புரிந்து கொள்ள வேண்டும். எந்த மொழியையும் போலவே, நிரலாக்கத்திலும் சில வடிவமைப்பு மரபுகள் ஏற்றுக்கொள்ளப்பட்டுள்ளன. உதாரணமாக, கண்ணியமான சமுதாயத்தில், இது போன்ற wRiTiNg இது மோசமான நடத்தையாகக் கருதப்படும். மேலும் ஜாவாவில், ஒரு முறையின் பெயரை பெரிய எழுத்துடன் தொடங்குவது குறியீட்டு மரபுகளின் மொத்த மீறலாகும். IntelliJ ஐடியா: குறியீட்டு பாணி மற்றும் குறியீடு வடிவமைப்பு - 1ஜாவா குறியீட்டிற்கான விதிகள் ஜாவா புரோகிராமிங் மொழிக்கான கோட் கன்வென்ஷன்ஸ் என்ற ஆவணத்தில் கொடுக்கப்பட்டுள்ளன . குறியீட்டு மரபுகள் உள்தள்ளல் போன்ற சிறிய விவரங்களையும் கட்டுப்படுத்தலாம். உள்தள்ளல் சீரற்றதாக இருந்தால், சிலர் தாவல்களைப் பயன்படுத்துகிறார்கள் மற்றும் மற்றவர்கள் இடைவெளிகளைப் பயன்படுத்தினால், பதிப்புக் கட்டுப்பாடு மாறும் என்று கற்பனை செய்து பாருங்கள். ஒரே ஒரு முறையில் பிழைத்திருத்தத்தைச் சரிபார்க்க வேண்டிய ஒருவருக்கு அது எப்படி இருக்கும், ஆனால் இடைவெளிகள் மற்றும் தாவல்களில் உள்ள வேறுபாடுகளால் முழு கோப்பையும் மாற்றியமைக்கப்படுமா? நிச்சயமாக, சாதாரண மொழியைப் போலவே, ஒரு மொழி எங்கு பயன்படுத்தப்படுகிறது என்பதைப் பொறுத்து மரபுகள் மாறலாம். எடுத்துக்காட்டாக, வலையின் பரந்த பகுதிகளில், நீங்கள் Google Java Style Guide மற்றும் Twitter Java Style Guide ஆகியவற்றைக் காணலாம்.. இந்த மதிப்பாய்விற்கு, எங்களுக்கு ஒரு சோதனை பொருள் தேவை. கிரேடில் பில்ட் ஆட்டோமேஷன் சிஸ்டத்தைப் பயன்படுத்துவோம். டெம்ப்ளேட்டிலிருந்து புதிய திட்டத்தை உருவாக்குவதன் மூலம் விரைவாகத் தொடங்க இது நம்மை அனுமதிக்கும். கிரேடில் ஒரு சிறந்த செருகுநிரலைக் கொண்டுள்ளது: Init செருகுநிரலை உருவாக்கவும் . ஒரு புதிய கோப்பகத்திற்குச் சென்று பின்வரும் கட்டளையை இயக்குவோம்: gradle init --type java-application அதன் பிறகு, IntelliJ IDEA ஐத் தொடங்கவும். திறந்த திட்டத்துடன் கூடிய சாளரத்தைக் கண்டால் (அதாவது, குறியீடு திருத்தி மற்றும் திட்ட மரத்தைப் பார்க்கிறீர்கள்), இந்த திட்டத்தைப் பயன்படுத்தி மூடவும் File -> Close Project. இப்போது வரவேற்பு சாளரத்தில், " Import Project"ஐ இயக்கி எங்கள் புதிய திட்டத்தை இறக்குமதி செய்யவும். இறக்குமதி செய்யும் போது, ​​" Use autoimport" தேர்வுப்பெட்டியை அமைக்கவும். வாழ்க்கையை எப்படியாவது எளிமையாக்க, அதிநவீன மேம்பாட்டுக் கருவிகளைப் பயன்படுத்தலாமா என்பதைக் கண்டுபிடிப்போம்.

IDEA இல் குறியீடு வடிவமைத்தல்

திட்டத்தை இறக்குமதி செய்த பிறகு, Ctrl+N ஐ அழுத்தி வகுப்பிற்குச் செல்லவும் AppTest. இது இயல்புநிலை சோதனை வகுப்பு. இது போல் தெரிகிறது:

 import org.junit.Test;
 import static org.junit.Assert.*;
 
 public class AppTest {
     @Test public void testAppHasAGreeting() {
         App classUnderTest = new App();
         assertNotNull("app should have a greeting", classUnderTest.getGreeting());
     }
 }
உடனடியாக உங்கள் கண்ணில் படுவது எது? முறை அறிவிப்பின் அதே வரியில் ஒரு சிறுகுறிப்பு, அசிங்கமாகத் தெரிகிறது, இல்லையா? இதை எப்படி சரி செய்வது? IntelliJ IDEA ஆனது Codeபல்வேறு குறியீடு கையாளுதல்களுக்கான " " மெனு உள்ளீட்டைக் கொண்டுள்ளது. Reformat CodeCtrl+L ஐப் பயன்படுத்தி நீங்கள் விண்ணப்பிக்கக்கூடிய "" இது போன்ற ஒரு கையாளுதல் ஆகும் . நீங்கள் இதைச் செய்த பிறகு, சிறுகுறிப்பு ஒரு வரியிலும், முறை அறிவிப்பு மற்றொரு வரியிலும் இருக்கும். இந்த செயல்பாடு தற்போது தேர்ந்தெடுக்கப்பட்ட குறியீட்டில் செய்யப்படுகிறது என்பதை இப்போதே கவனிக்க வேண்டியது அவசியம் . தேர்வு இல்லை என்றால், வடிவமைப்பு செயல்பாடு எல்லாவற்றிலும் செய்யப்படுகிறது. இப்போது ஒரு புதிய சோதனை முறையைச் சேர்ப்போம்:

 @Test
 public void testSumOfOddNumbers() {
 	List<Integer> data = Arrays.asList(1, 4, 2, 3, 6, 7, 9);
 	Integer result = data.stream().filter(number -> number % 2 == 0).reduce((n1, n2) -> n1 + n2).get();
 	assertThat(result, is(12));
 }
மற்றும் இரண்டு இறக்குமதிகள்:

import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
நீங்கள் பார்க்க முடியும் என, ஸ்ட்ரீமில் செயல்பாடு ஒரு வரியில் உள்ளது. ஆனால் ஒவ்வொரு காலகட்ட ஆபரேட்டரிலும் சங்கிலி முறை அழைப்புகள் எப்போதும் புதிய வரிகளாகப் பிரிக்கப்படுவதை உறுதிசெய்ய விரும்பினால் என்ன செய்வது? இதை நாம் கைமுறையாக செய்யலாம். ஆனால் எல்லாமே தானாகவே நடக்க வேண்டும் என்பதை நாம் விரும்புகிறோம் என்பதை நினைவில் கொள்ளுங்கள். உண்மையில், நாம் நிச்சயமாக அவ்வப்போது கையேடு படியை மறந்துவிடுவோம், பின்னர் எல்லா இடங்களிலும் வெவ்வேறு வடிவமைப்புடன் முடிவடைவோம், அது நல்லதல்ல. எனவே வடிவமைப்பிற்கு IDEA பயன்படுத்தும் விதியை நாம் திருத்த வேண்டும். தேர்வு செய்யவும்File -> SettingsIDEA மெனுவில் (அல்லது Ctrl+Alt+Sஐ அழுத்தவும்). அமைப்புகள் சாளரத்தில் தேடல் புலத்தில் "குறியீடு பாணி" ஐ உள்ளிடவும். "குறியீடு பாணி" பிரிவில், ஜாவாவை விட அதிகமான மொழிகளுக்கான அமைப்புகளை நீங்கள் குறிப்பிடலாம். ஆனால் நாம் இப்போது ஆர்வமாக இருப்பது ஜாவா. நீங்கள் பார்க்க முடியும் என, அமைப்புகள் பல தாவல்களாக பிரிக்கப்பட்டுள்ளன. ஒரு சூப்பர் பயனுள்ள அம்சம் என்னவென்றால், செயல்பாட்டின் எடுத்துக்காட்டு சாளரத்தின் வலது பகுதியில் காட்டப்பட்டுள்ளது: IntelliJ ஐடியா: குறியீட்டு பாணி மற்றும் குறியீடு வடிவமைப்பு - 2ஸ்கிரீன்ஷாட் "சங்கிலி முறை அழைப்புகளை" "எப்போதும் மடக்கு" என்று அமைக்கலாம், அதாவது எப்போதும் சங்கிலி முறை அழைப்புகளை தனி வரிகளாக பிரிக்கலாம். இப்போது சோதனை வகுப்பில் மீண்டும் வடிவமைத்தல் பொத்தானைக் கிளிக் செய்யவும், அது உண்மையில் செயல்படுவதைக் காண்கிறோம்! ஆனால் சில நேரங்களில் நீங்கள் நிலையான வடிவமைப்பு விதிகளுக்கு வெளியே சில குறியீட்டை வடிவமைக்க வேண்டும். வடிவமைப்பை பின்வருமாறு அமைக்கவும்: IntelliJ ஐடியா: குறியீட்டு பாணி மற்றும் குறியீடு வடிவமைப்பு - 3வடிவமைப்பைத் தடுக்க, "கோட் ஸ்டைல்" பிரிவில், ஃபார்மேட்டர் குறிப்பான்களை இயக்கவும்: IntelliJ ஐடியா: குறியீட்டு பாணி மற்றும் குறியீடு வடிவமைப்பு - 4இப்போது நாம் நமது சோதனை வகுப்பை மாற்றலாம், இதனால் அதன் குறியீடு மறுவடிவமைக்கப்படாது:

 @Test
 public void testSumOfOddNumbers() {
 	List<Integer> data = Arrays.asList(1, 4, 2, 3, 6, 7, 9);
 	// @formatter:off
 	Integer result = data.stream().filter(number -> number % 2 == 0)
                              .reduce((n1, n2) -> n1 + n2)
                              .get();
 	assertThat(result, is(12));
 	// @formatter:on
 }
நீங்கள் Tab ஐ அழுத்தும் போது, ​​IDEA அதை ஒரு இடைவெளியாக விளக்குகிறது (இது இயல்புநிலை நடத்தை). ஆனால் நீங்கள் இதை " " பிரிவில் மாற்றலாம் Code Style: IntelliJ ஐடியா: குறியீட்டு பாணி மற்றும் குறியீடு வடிவமைப்பு - 5நீங்கள் பார்க்கிறபடி, அங்கு நிறைய அமைப்புகள் உள்ளன. " " அமைப்புகளைப் பற்றிய கூடுதல் விவரங்களை இங்கே படிக்கலாம் Code style: " IDEA உதவி: குறியீடு நடை ". மற்றொரு முக்கியமான வடிவமைப்பு அம்சம் உள்ளது: இறக்குமதிகளை வடிவமைத்தல். இந்த செயல்பாடு தனித்தனியாக இயக்கப்படுகிறது மற்றும் " Optimize Imports" என்று அழைக்கப்படுகிறது. Code -> Optimize Importsஇது (Ctrl+Alt+O) கீழ் அமைந்துள்ளது . இறக்குமதியை மேம்படுத்துவது, தேவையற்ற இறக்குமதிகளை நீக்கி, ஜாவாவிற்கான அமைப்புகளின் "" Importsதாவலில் உள்ள அமைப்புகளின்படி சரியான வரிசையில் இறக்குமதிகளை ஒழுங்குபடுத்துகிறது . Code Styleமேலும், இந்த வடிவமைப்பு தானாக நடக்க வேண்டுமெனில், ஒரு நல்ல செய்தி உள்ளது:செயல்கள் செருகுநிரலைச் சேமிக்கவும் .

ஒரு கட்டளையில் அமைப்புகளை விநியோகித்தல்

நீங்கள் விரும்பியபடி உங்கள் வடிவமைப்பு பாணியைத் தனிப்பயனாக்கலாம் என்பதை நாங்கள் மேலே பார்த்தோம். ஆனால் ஒரு அணிக்குள் இந்த பாணியை எப்படிப் பயன்படுத்துகிறீர்கள்? மிக எளிதாக. பல விருப்பங்கள் உள்ளன. குறியீட்டு பாணி திட்டத்தை சேமிப்பது எளிமையானது. ஐடிஇஏ அமைப்புகளைப் பயன்படுத்தி திறக்கவும் File -> Settings(அல்லது Ctrl+Alt+Sஐ அழுத்தவும்). " Code Style" பிரிவில், "திட்டம்" என்பதைக் காணலாம். இது எங்கள் வடிவமைப்பு திட்டம். முன்னிருப்பாக, "இயல்புநிலை" திட்டம் பயன்படுத்தப்பட்டு "IDE" என்று லேபிளிடப்படுகிறது, அதாவது இந்த அமைப்பு எங்கள் IDE க்கு மட்டுமே பொருந்தும் - இது வேறு யாரையும் பாதிக்காது. "தனிப்பயன்" திட்டத்தை உருவாக்க, வலதுபுறத்தில் உள்ள பொத்தானைப் பயன்படுத்தி நகலை உருவாக்கி அதற்கு ஒரு பெயரைக் கொடுக்கவும், எடுத்துக்காட்டாக: CodeGym IntelliJ ஐடியா: குறியீட்டு பாணி மற்றும் குறியீடு வடிவமைப்பு - 6பின்னர் நாம் அமைப்புகளை இறக்குமதி செய்யலாம் அல்லது ஏற்றுமதி செய்யலாம்: IntelliJ ஐடியா: குறியீட்டு பாணி மற்றும் குறியீடு வடிவமைப்பு - 7 மற்றொரு விருப்பம் IDEA அமைப்புகளை இறக்குமதி செய்வது: IntelliJ ஐடியா: குறியீட்டு பாணி மற்றும் குறியீடு வடிவமைப்பு - 8மூன்றாவது விருப்பம் அமைப்புகள் களஞ்சியமாகும். அமைப்புகள் களஞ்சியத்தைப் பயன்படுத்த, பின்வரும் இணைப்பில் உள்ள மேலும் விவரங்களுக்கு IntelliJ IDEA உதவி ஆவணத்தைப் பார்க்கவும்: அமைப்புகள் களஞ்சியம் ". ஒரு குழுவில் ஒரு ஒருங்கிணைந்த பாணியைப் பற்றி பேசுகையில், எக்லிப்ஸில் இருந்து ஸ்டைல்களுக்கான நல்ல ஆதரவைக் குறிப்பிடாமல் இருக்க முடியாது. IDE. இதைச் செய்ய, நீங்கள் ஒரு தனி செருகுநிரலை நிறுவ வேண்டும்: கோப்பு -> அமைப்புகள் (Ctrl+Alt+S) வழியாக IDEA அமைப்புகளைத் திறந்து "செருகுகள்" பகுதிக்குச் செல்லவும். புதிய செருகுநிரல்களைக் கண்டறிய, " " பொத்தானைக் கிளிக் செய்யவும் Browse Repositories. தேடல் சாளரத்தில் Eclipse Code Formatter செருகுநிரலைக் கண்டறியவும். IntelliJ ஐடியா: குறியீட்டு பாணி மற்றும் குறியீடு வடிவமைப்பு - 9அதை நிறுவிய பின், நீங்கள் IDEA ஐ மறுதொடக்கம் செய்ய வேண்டும் — இது நிலையான நடைமுறை. இப்போது எல்லாம் முடிந்தது. IDEA அமைப்புகளில் ஒரு புதிய பிரிவு உள்ளது: "Eclipse Code Formatter".. இது இப்படி இருக்கும்: IntelliJ ஐடியா: குறியீட்டு பாணி மற்றும் குறியீடு வடிவமைப்பு - 10

இறுக்கமான தேவைகள்

IDEA கருவிகளுக்கு கூடுதலாக, தேவைகளை இறுக்க கட்ட ஆட்டோமேஷன் செருகுநிரல்களையும் நீங்கள் பயன்படுத்தலாம். யாரோ சரியான வடிவமைப்பைப் பயன்படுத்தியுள்ளீர்களா என்பதை நீங்கள் கைமுறையாகச் சரிபார்க்க எந்த வழியும் இல்லை. நீங்கள் ஒரு குழுவில் 5 பேருடன் இருக்கலாம். ஆனால் ஒரு நிறுவனத்தில் 100 பேர் இருந்தால், அது யதார்த்தமாக இல்லை. மேலும் ஐந்து பேர் கூட கண்காணிக்க கடினமாக இருக்கும். இவற்றில் எதற்காக உங்கள் நேரத்தை வீணடிக்க வேண்டும்? விதிகள் மீறப்பட்டால், திட்டம் கட்டப்படுவதைத் தடுப்பது மிகவும் எளிதாக இருக்கும். உண்மையில், இது "குறியீடு ஆய்வு" என்று அழைக்கப்படும் ஒரு தனித்தனி தலைப்பு. இந்த கட்டுரையில், இது எவ்வாறு செயல்படுகிறது என்பதை நான் உங்களுக்குக் காட்ட விரும்புகிறேன். மிகவும் பிரபலமான கிரேடில் செருகுநிரல்களில் ஒன்று (எங்கள் திட்டத்தை உருவாக்குவதால், நீங்கள் நினைவுபடுத்துவீர்கள்) pmd. அதை இயக்க, எங்கள் கிரேடில் திட்டத்தின் உருவாக்க ஸ்கிரிப்ட்டுக்கு (எங்கள் திட்டத்தின் மூலத்தில் உள்ள build.gradle கோப்பு) சென்று, மீதமுள்ள செருகுநிரல்களுக்கு அடுத்ததாக pmd ஐ சேர்க்கவும்:

 plugins {
     // Apply the java plugin to add support for Java
     id 'java'
     // Check source code
     id 'pmd'
     // Apply the application plugin to add support for building an application
     id 'application'
 }
இப்போது நாம் அதே இடத்தில் விரிவான அமைப்புகளை உள்ளிடலாம்:

 pmd {
     ignoreFailures = false
     pmdTest.enabled = true
     ruleSets = [
             'java-basic',
             'java-braces',
             'java-clone',
             'java-codesize',
             'java-comments',
             'java-controversial',
             'java-coupling',
             'java-design',
             'java-empty',
             'java-finalizers',
             'java-imports',
             'java-optimizations',
             'java-strictexception',
             'java-strings',
             'java-typeresolution',
             'java-unnecessary',
             'java-unusedcode'
     ]
 }
எங்கள் திட்டம் கூட இப்போது உடைந்துவிட்டது. இயக்கவும் gradle build, பிழையைப் பெறுகிறோம். நல்ல விஷயம் என்னவென்றால், உருவாக்கத்தின் போது ஒரு அறிக்கை உருவாக்கப்படுகிறது. பிழைகள் இருந்தால், இது போன்ற செய்தியைப் பெறுவோம்:

 BUILD FAILED in 35s
 6 actionable tasks: 6 executed
 7 PMD rule violations were found. See the report at: file:///C:/_study/codestyle/build/reports/pmd/main.html
அறிக்கைக்குச் செல்லும்போது, ​​​​இது போன்ற ஒன்றைக் காண்கிறோம்: IntelliJ ஐடியா: குறியீட்டு பாணி மற்றும் குறியீடு வடிவமைப்பு - 11மேலும், " Problem" நெடுவரிசை pmd செருகுநிரலின் இணையதளத்தில் உள்ள சிக்கலின் விளக்கத்திற்கான இணைப்பை வழங்குகிறது. எடுத்துக்காட்டாக, " headerCommentRequirement Required" பிழைக்கு, இணைப்பு இங்கே செல்கிறது: pmd — CommentRequired . இந்த பிழை எங்கள் வகுப்பில் JavaDoc இல்லை என்பதற்கான குறிப்பு. மேலே உள்ள வகுப்புகளுக்கு JavaDoc ஐ உள்ளமைக்க டெம்ப்ளேட்களைப் பயன்படுத்தலாம்: IntelliJ ஐடியா: குறியீட்டு பாணி மற்றும் குறியீடு வடிவமைப்பு - 12மேலும் அதற்கான உள்ளடக்கங்களைக் குறிப்பிடவும் File Header: IntelliJ ஐடியா: குறியீட்டு பாணி மற்றும் குறியீடு வடிவமைப்பு - 13அதன் பிறகு, ஆப் வகுப்பின் மேலே உள்ள கருத்தை JavaDoc ஆக மாற்றி, புதிய கட்டமைப்பில் பிழை மறைந்திருப்பதைக் காணலாம்.

அடிக்கோடு

ஒரு திட்டத்தில் உற்பத்தித்திறனை அதிகரிக்க குறியீடு பாணி முக்கியமானது. பகிரப்பட்ட விதிகளின்படி எழுதப்பட்ட அழகான குறியீடு, உங்கள் சக பணியாளர்கள் அதை எளிதாகவும் விரைவாகவும் புரிந்துகொள்வார்கள் மற்றும் உங்களுக்கு ஒரு காது கேளாத விமர்சனத்தைத் தரமாட்டார்கள் என்பதற்கு உத்தரவாதம் அளிக்கிறது. நவீன மேம்பாட்டு கருவிகள் மூலம், பாணி விதிகளை கடைபிடிப்பது அவ்வளவு கடினம் அல்ல. இது உண்மை என்பதை இந்த மதிப்பாய்வு உங்களுக்கு நிரூபித்துள்ளது என்று நம்புகிறேன். பாரம்பரியத்தைப் பின்பற்றி, தலைப்பில் கொஞ்சம் கூடுதல் பொருள் இங்கே:
கருத்துக்கள்
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION