JavaRush /Java блогу /Random-KY /Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн...
Roman Beekeeper
Деңгээл

Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо

Группада жарыяланган
Баарына салам, JavaRush коомчулугу. Бүгүн биз мүчүлүштүктөрдү оңдоо жөнүндө сүйлөшөбүз: бул эмне жана Intellij IDEAда мүчүлүштүктөрдү кантип оңдоо керек. Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 1Макала Java Core боюнча минималдуу бorми бар адамдар үчүн арналган. Китепканаларды басып чыгаруу үчүн алHowтар ​​же татаал процесстер болбойт. Жеңил басуу. Андыктан өзүңүзгө ыңгайлуу болуңуз жана баштайлы!

Эмне үчүн сизге Debug керек?

Аны дароо ачыктайлы: катасыз code жок... Жашоо ушундайча иштейт. Ошондуктан, эгер code биз күткөндөй иштебесе, дароо аксап, бардыгынан баш тартпашыбыз керек. Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 2Бирок эмне кылуу керек? Албетте, System.out.printlnмүмкүн болгон жерде нускама берип, андан кийин ката таба аласыз деген үмүт менен терминалдагы чыгарууну карап көрсөңүз болот. Ошентсе да, бул мүмкүн ... жана алар муну, жана алар кылдаттык менен журналга колдонуу (бул жөнүндө окуй аласыз бул жерде ). Бирок codeду жергorктүү машинада иштетүү мүмкүн болсо, Debug колдонуу жакшы . Мен дароо белгилеп кетким келет, бул макалада биз Intellij IDEA ичиндеги долбоорду оңдоону карап чыгабыз. Эгер сизди алыстан оңдоо жөнүндө окууга кызыксаңыз, бул жерде биздин ресурстун макаласы .

Debug деген эмне

Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 3Мүчүлүштүктөрдү оңдоо - codeду оңдоо (текшерүү) процесси, аны аткаруу учурунда сиз белгиленген жерде токтоп, аткарылышынын жүрүшүн көрө аласыз. Белгилүү бир жерде программанын абалын түшүнүү. Бул жашоону токтотуп, бардыгына сырттан караганга окшош. Сонун, туурабы? Биздин максат - биздин сүйүктүү иштеп чыгуу чөйрөбүз, Intellij IDEA аркылуу тиркемелерди оңдоону тез жана оңой үйрөнүү.

Мүчүлүштүктөрдү оңдоону баштоо үчүн эмне керек

Мен бекер кеңеш берем: макаланы окуп жатканда, бул жерде айтылгандардын баарын кылыңыз, бактыга жараша, бул үчүн баары бар. Эмне керек:
  1. Intellij IDEA иштеп чыгуу чөйрөсү versionсы 2019.3.1 жана андан жогору. Кимде жок болсо, бул жерде сиз аны жүктөп алсаңыз болот. Community Edition жүктөп алыңыз, анткени мен ошону колдоном.
  2. GitHub'дан долбоорду клондоштуруу жана аны IDEA аркылуу импорттоо.
Open IDEA: Мүчүлүштүктөрдү аныктоо-презентацияIntellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 4 долбоорун тандап , OK баскычын чыкылдатыңыз жана алыңыз: Тышкы булактардан импорттук долбоорду калтырыңыз , Maven жана Finish баскычын басыңыз . Долбоорду импорттоо менен биз процессти жандуу мисал менен сүрөттөй алабыз. Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 5

Бир аз теория... Мен убада берем: D

Мүчүлүштүктөрдү оңдоону бир аз баштоо үчүн, breakPoint деген эмне экенин түшүнүп , баштоо үчүн бир нече ысык баскычтарды түшүнүшүңүз керек . BreakPoint – бул колдонмо токтотулушу керек болгон жерди же абалды көрсөткөн атайын маркер. Сиз сол каптал тилкесин сол чыкылdateу менен же codeдун жайгашкан жерин чыкылдатып, Ctrl + F8 баскычтарын басуу менен үзгүлтүккө учуроо чекин орното аласыз . Үзүлүү чекиттери үч түрдүү болот: сызык белгиси, өзгөрмө белгиси жана метод белгиси. Бул төмөнкүдөй көрүнөт:
  • Ар бир сапта:

    Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 6

    эгерде туюнтмада ламбда бар болсо, анда IDEA сизге тандоону сунуштайт - туюнтманы бүт сапка же атайын ламбдага коюу:

    Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 7
  • Метод боюнча:

    Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 8
  • Класс боюнча

    Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 9
Үзүлүү чекиттери аларды кошуудагыдай эле кадамдарды аткаруу менен жок кылынышы мүмкүн. Аларды активдүү эмес кылуу керек болгон жагдайлар бар (үнсүз). Бул үчүн, мүчүлүштүктөрдү оңдоо бөлүмүндө сиз Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 10бардык үзгүлтүктөрдү жигерсиз кыла турган сөлөкөтүн таба аласыз. Кайсы токтотуу чекиттери коюлганын көрүү үчүн төмөнкү сол бурчтагы Мүчүлүштүктөрдү оңдоого өтүп, сөлөкөтүн таба аласыз Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 11, же Ctrl+Shift+F8 баскычтарын басыңыз : Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 12Биз үзгүлтүккө учураган чекиттердин тизмесине барганда, биз көрөбүз: Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 13Эки алдын ала чекит бар. бул жерде:
  • Bee.java:24 - 24-сапта Bee классында
  • Main.java:14 - 14-сапта Негизги класста
Долбоорду клондоштурууда сизде бул BreakPoints болбойт: аларды өзүңүз орнотушуңуз керек экенин белгилегим келет! Java Exception Breakpoints бөлүмү да бар . Абдан пайдалуу нерсе. Аны колдонуу менен, программа кандайдыр бир өзгөчө же белгилүү бир учурду таштаганга чейин токтошу үчүн, ачык-айкын үзүлүүчү чекти кошо аласыз. Келгиле, RuntimeException үчүн жашыруун үзүү чекин кошолу. Бул оңой жасалат: жогорку сол бурчта "+" плюс белгиси бар. Аны басыңыз жана тандаңыз Java Exceptions Breakpoints : Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 14Пайда болгон терезеде кошуу керек болгон өзгөчөлүктүн атын жазыңыз, сунушталган тизмеден тандап, басыңыз OK : Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 15Биз бул бorм берүү программасын бүтүрүп, практикага өтөбүз.

Кеттик, мүчүлүштүктөрдүн жапайы жерлерине кирип кетели

Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 16Мен тукум куума аарычы болгондуктан, мүчүлүштүктөрдү аныктоо үчүн презентация үчүн аарылар нектарды чогултуу, бал ширесин кайра иштетүү жана уюктан бал алуу процессин сүрөттөгөн долбоорду түздүм. Долбоордун тамырында турган README файлынын documentтерине таянып , биз окуйбуз: күтүлгөн жүрүм-турум - нектар чогултулган бардык гүлдөрдөн (кош мааниде ) балдын жарымына барабар өлчөмдө бал алынат. чогултулган нектар. Долбоор төмөнкү класстарга ээ:
  • аары - жөнөкөй жумушчу аары;
  • BeeQueen - эне аары;
  • BeeHive - бал челек;
  • HoneyPlant - бал чогултулган бал өсүмдүк;
  • Негизги - public static void main()долбоор башталган ыкма кайда жайгашкан.
Эгерде сиз методду иштетсеңиз main(), балдын саны гана эсептелбестен, ката да пайда болот экен... Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 17Ал жерде эмне туура эмес экенин карашыңыз керек. Төмөнкү оң бурчтагы стек изинен, ичинде HoneyPlant.java:20RuntimeException ыргытылганын көрө алабыз: Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 18Бул так биздин жагдай: RuntimeException бар, жогоруда сүрөттөлгөндөй, ушундай өзгөчөлүктү издөөнү кошуп, main()ыкманы иштетели. мүчүлүштүктөрдү оңдоо режими. Бул үчүн Intellij IDEAдагы жашыл үч бурчтук жебени чыкылдатыңыз main(): методунан мурун Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 19жана биз токтоп калган программаны ушул сөлөкөт менен өзгөчө учур ишке киргенге чейин алабыз.Толук Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 20Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 21маалымат алуу үчүн мүчүлүштүктөрдү оңдоо бөлүмүн карашыңыз керек. Анын Variables бар , ал колдонмонун бул бөлүгүндө жеткorктүү болгон бардык өзгөрмөлөрдү көрсөтөт:
  • нектар = 1,0;
  • nectarCapacity = -1.0.
Бал өсүмдүгүндө болгон нектардын өлчөмү терс болушу мүмкүн эмес, анткени, өзгөчө, адилеттүү ыргытылган. Бирок эмне үчүн мындай болуп жатат? Анткени, эгерде шире түгөнсө, анда 15-17-саптарда нөлдүк баа кайтарылат деген текшерүү бар:
if ( nectar == 0 ) {
         return 0;
}
Бирок бул туура эмес өзгөрмөнү текшерип жаткандыгы... жана бул codeдогу ката. NectarCapacity өзгөрмөсүндө жайгашкан гүлдүн ширесинин маанисин текшерүүнүн ордуна , программа ыкмага кирген ширенин маанисин текшерет жана алар ширеден алууну каалаган сумма болуп саналат. Мына, биринчи ката! Ошондуктан, биз аны туура коюп, туюнтманы алабыз:
if ( nectarCapacity == 0) {
         return 0;
}
Андан кийин, биз main()ыкманы кадимки режимде иштетебиз (Run `Main.main()`)жана ката жок, программа иштеди: Тиркеме Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 22иштеп, жооп берди: "33,0 балды 2 бал өсүмдүктөрүнөн 7 аары өндүргөн" Баары жакшы болмок, бирок жооп туура эмес... Мунун баары README файлында 2ден 1ге чейинки катышта нектар балга айланаары жазылган:
## Documentation
Presentation based on honey getting process.

**Note**: 1 honey point = 2 nectar points
Негизги ыкмадан көрүнүп тургандай, эки бал өсүмдүгү бар, 30 жана 40 бирдик нектар, демек, жыйынтыгында 35 бирдик бал алуу керек. Ал эми 33 деп жазат. Калган эки бирдик кайда кетти?... Эми билебиз! Бул үчүн, биз Main.main()28-сапка методдун үзгүлтүккө учуроо чекин коюшубуз керек, ал аткарылган жерде beeHive.populateHoney()жана mainDebug режиминде методду иштетишибиз керек: Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 23Келгиле, бул пунктту жакшыраак карап көрөлү. Программа 28-сапты аткаруудан мурун токтоп калды. Төмөндө биз иштеп жаткан тиркемедеги бардык маалыматты сүрөттөгөн Мүчүлүштүктөрдү оңдоо бөлүмүн көрөбүз. Өзгөрмөлөр бөлүгү, мурда айтылгандай, колдонмонун ушул бөлүгүнөн жеткorктүү болгон бардык өзгөрмөлөрдү жана an objectтерди камтыйт. Frames бөлүгү колдонмо өткөн кадамдарды көрсөтөт, сиз мурунку кадамды карап, бардык жергorктүү маалыматтарды ала аласыз. Программанын ишин улантуу үчүн, төмөндө көрсөтүлгөндөй F9Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 24 же жашыл сөлөкөттү бассаңыз болот: Программаны токтотуу үчүн кызыл квадратты басышыңыз керек: Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 25Тиркемени мүчүлүштүктөрдү оңдоо режиминде кайра иштетүү үчүн, жебени басышыңыз керек: Intellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 26Андан кийин, колдонмо аркылуу этап-этабы менен өтүү үчүн, сиз эки баскычты колдоно аласыз:
  • F8 - codeдун бөлүмү аркылуу өтүңүз жана ички ыкмаларга кирбеңиз;
  • F7 - codeдун бир бөлүгүнөн өтүп, ички ыкмаларды киргизиңиз.
Ошондуктан, ыкманы ишке киргизүү үчүн beeHive.populateHoney(), биз F7 баскычын басышыбыз керек жана биз улантабыз: Андан кийин, биз F8диIntellij IDEAдагы мүчүлүштүктөрдү оңдоо: үйрөнчүктөр үчүн колдонмо - 27 колдонуп мүчүлүштүктөрдү оңдоо режиминен аягына чейин ушул ыкманы колдонуп, бул ыкмада эмне болорун сүрөттөп беребиз:
  • 25-сап - Stream API бардык аарылардан бал чогултуу үчүн колдонулат;
  • 26-сап - бал бар кошулат;
  • 27-сап - ханыша үчүн 2 бирдик бал бөлүнгөн;
  • 28-сап - бул эки бирдик балдын жалпы суммасынан алынып салынат;
  • 29-сап - жатын бул балды жейт.
Бул эки агрегат ошол жакка барды, ура! Бизнес-аналитик менен сүйлөшкөндөн кийин, биз documentация README файлында ката бар жана аны жаңыртуу керек деген жыйынтыкка келдик . README файлын жаңырталы:
## Documentation
Presentation based on honey getting process.

**Note**:
*  1 honey point = 2 nectar points
*  2 honey point queen bee eats every time when beehive populates the honey.
Мына ушундай: табылган бардык мүчүлүштүктөр оңдолду, биз сабырдуулук менен кофе ичип, JavaRush хабында макалаларды окуй берсек болот :)

Жыйынтык чыгаруу

Бул макалада биз түшүндүк:
  • катасыз иш жок жана мүчүлүштүктөрдү оңдоо аларды чечүүнүн эң сонун жолу;
  • үзүү чекити деген эмне жана анын кандай түрлөрү бар;
  • өзгөчө учурду кантип конфигурациялоо керек;
  • Мүчүлүштүктөрдү оңдоо режиминде кантип чабыттоо керек.

Окууга макала

Менин башка макалаларымды да караңыз:
Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION