Шояд,
Дар ин мақола, ки хусусияти мухтасар дорад, мо кӯшиш хоҳем кард, ки баъзе асосҳои меъмории Eclipse-ро ҳамчун платформаи сохтани асбобҳои ҳамгирошудаи рушд дида бароем ва дар бораи ҷузъҳои Eclipse, ки асоси технологияро ташкил медиҳанд, тасаввуроти ибтидоӣ диҳем. платформаи "конфигуратори нав" 1C: Enterprise.
Муқаддима ба меъмории Eclipse
Биёед аввал баъзе ҷанбаҳои умумии меъмории Eclipse-ро бо истифода аз мисол дида бароем
Пеш аз ҳама, бояд қайд кард, ки Eclipse бо қабати хеле равшани меъморӣ бо ҷудоии функсияҳои аз забон вобаста аз функсияе, ки барои дастгирии забонҳои мушаххаси барномасозӣ пешбинӣ шудааст ва ҷудо кардани ҷузъҳои "асосии" аз интерфейси мустақил аз ҷузъҳои алоқаманд тавсиф мешавад. бо интерфейси корбар дастгирӣ.
Ҳамин тариқ, Платформаи Eclipse инфрасохтори умумӣ ва мустақили забонро муайян мекунад ва абзорҳои таҳияи Java ба Eclipse IDE-и мукаммали Java илова мекунанд. Ҳарду Platform Eclipse ва JDT аз якчанд ҷузъҳо иборатанд, ки ҳар яки онҳо ба "аслӣ"-и мустақили UI ё қабати UI тааллуқ доранд (Расми 1).
Райс. 1. Платформаи Eclipse ва JDT
Биёед ҷузъҳои асосии платформаи Eclipse-ро номбар кунем:
- Вақти амал — Инфрасохтори плагинро муайян мекунад. Eclipse бо меъмории модулӣ хос аст. Аслан, Eclipse маҷмӯи "нуқтаҳои васеъ" ва "васеъшавӣ" аст.
- Фазои корӣ - Як ё якчанд лоиҳаҳоро идора мекунад. Лоиҳа аз ҷузвдонҳо ва файлҳо иборат аст, ки мустақиман ба системаи файлӣ харита карда шудаанд.
- Асбобҳои стандартии виджет (SWT) - Унсурҳои асосии интерфейси корбарро, ки бо системаи оператсионӣ муттаҳид шудаанд, таъмин мекунад.
- JFace - Як қатор чаҳорчӯбаҳои UI-ро, ки дар болои SWT сохта шудаанд, таъмин мекунад.
- Коркарди меҳнатӣ — Парадигмаи Eclipse UI-ро муайян мекунад: муҳаррирон, назарҳо, дурнамо.
Бояд гуфт, ки Платформаи Eclipse инчунин бисёр ҷузъҳои дигари муфидро барои сохтани абзорҳои ҳамгирошудаи рушд, аз ҷумла Debug, Муқоиса, Ҷустуҷӯ ва Гурӯҳ пешниҳод мекунад. Бояд қайд кард, ки JFace Text - асоси бунёди "муҳаррирони интеллектуалӣ" -и коди ибтидоӣ. Мутаассифона, ҳатто санҷиши курсии ин ҷузъҳо, инчунин ҷузъҳои қабати UI, дар доираи ин мақола имконнопазир аст, бинобар ин дар боқимондаи ин бахш мо худро танҳо бо шарҳи ҷузъҳои асосии "асосии" Платформаи Eclipse ва JDT.
Core Runtime
Инфрасохтори плагини Eclipse ба он асос ёфтааст
Фазои асосии корӣ
Қариб ҳама муҳити ҳамгирошудаи рушд, ки дар болои платформаи Eclipse сохта шудааст, бо фазои кории Eclipse кор мекунад. Ин фазои корӣ аст, ки одатан рамзи сарчашмаи замимаи дар IDE таҳияшударо дар бар мегирад. Фазои корӣ бевосита ба системаи файлӣ харита мешавад ва аз лоиҳаҳое иборат аст, ки ҷузвдонҳо ва файлҳоро дар бар мегиранд. Ин лоиҳаҳо, ҷузвдонҳо ва файлҳо номида мешаванд захирахо фазои корӣ. Татбиқи фазои корӣ дар Eclipse ҳамчун кэш нисбат ба системаи файлӣ хизмат мекунад, ки имкон медиҳад, ки гардиши дарахти захираҳоро ба таври назаррас суръат бахшад. Илова бар ин, фазои корӣ як қатор хидматҳои иловагӣ, аз ҷумла
Ҷузъи захираҳои аслӣ (плагини org.eclipse.core.resources) барои дастгирии фазои корӣ ва захираҳои он масъул аст. Аз ҷумла, ин ҷузъ дастрасии барномавиро ба фазои корӣ дар шакл таъмин мекунад моделҳои захиравӣ. Барои самаранок кор кардан бо ин модел, муштариён бояд роҳи оддии пешниҳоди истинод ба манбаъро дошта бошанд. Дар ин ҳолат, матлуб мебуд, ки объектеро, ки бевосита ҳолати захираро дар модел нигоҳ медорад, аз дастрасии муштарӣ нигоҳ дорад. Дар акси ҳол, дар сурати, масалан, нест кардани файл, муштарӣ метавонад нигоҳ доштани объектеро, ки дигар дар модел нест, бо мушкилоти минбаъда идома диҳад. Eclipse ин мушкилотро бо истифода аз чизе, ки ном дорад, ҳал мекунад идора карда мешаванд захира. Дастак ҳамчун калид амал мекунад (он танҳо роҳи манбаро дар фазои корӣ медонад) ва дастрасӣ ба объекти модели дохилиро, ки бевосита маълумот дар бораи ҳолати захираро нигоҳ медорад, комилан назорат мекунад. Ин тарҳ як варианти намуна аст
Райс. Дар расми 2 идиомаи Handle/Body тасвир шудааст, ки ба модели манбаъ истифода мешавад. Интерфейси IResource дастаки захираро ифода мекунад ва бар хилофи синфи Resource, ки ин интерфейсро амалӣ мекунад ва синфи ResourceInfo, ки баданро ифода мекунад, ки API нестанд, API мебошад. Мо таъкид мекунем, ки даста танҳо роҳи манбаро нисбат ба решаи фазои корӣ медонад ва дорои истиноди иттилооти манбаъ нест. Объектҳои иттилооти захиравӣ ба истилоҳ "дарахти элемент" -ро ташкил медиҳанд. Ин сохтори додаҳо пурра дар хотира моддӣ карда мешавад. Барои пайдо кардани мисоли иттилооти захиравӣ, ки ба даста мувофиқ аст, дарахти элемент мувофиқи роҳе, ки дар он даста захира шудааст, тай карда мешавад.
Райс. 2. IResource ва ResourceInfo
Тавре ки мо дертар хоҳем дид, тарҳи асосии модели захиравӣ (мо метавонем онро ба даста асоснок меномем) дар Eclipse барои дигар моделҳо низ истифода мешавад. Ҳоло, биёед баъзе аз хусусиятҳои фарқкунандаи ин тарҳро номбар кунем:
- Дастак объекти арзишманд аст. Объектҳои арзиш объектҳои тағирнашаванда мебошанд, ки баробарии онҳо ба шахсият асос намеёбад. Чунин объектҳоро метавон ҳамчун калид дар контейнерҳои ҳашшуда бехатар истифода бурд. Якчанд мисолҳои коркард метавонанд ба як манбаъ муроҷиат кунанд. Барои муқоисаи онҳо, шумо бояд усули баробар (Object) -ро истифода баред.
- Handle рафтори захираро муайян мекунад, аммо дар бораи ҳолати захира маълумот надорад (ягона маълумоте, ки он "калид" нигоҳ медорад, роҳ ба манбаъ аст).
- Дастгоҳ метавонад ба манбаи мавҷуда муроҷиат кунад (ё манбаи ҳанӯз эҷод нашудааст ё захирае, ки аллакай нест карда шудааст). Мавҷудияти захираро метавон бо истифода аз усули IResource.exists() тафтиш кард.
- Баъзе амалиётҳоро танҳо дар асоси маълумоте, ки дар худи даста нигоҳ дошта мешавад, амалӣ кардан мумкин аст (ба ном амалиёти танҳо барои дастаки). Намунаҳо IResource.getParent(), getFullPath() ва ғайра мебошанд. Барои муваффақ шудан ба чунин амалиёт захира мавҷуд нест. Амалиётҳое, ки мавҷудияти захираро талаб мекунанд, то муваффақ шаванд, агар захира мавҷуд набошад, CoreException -ро мепартояд.
Eclipse механизми муассирро барои огоҳ кардани тағйироти захираҳои фазои корӣ таъмин мекунад (Расми 3). Сарчашмаҳо метавонанд ё дар натиҷаи амалҳое, ки дар худи Eclipse IDE иҷро мешаванд ё дар натиҷаи ҳамоҳангсозӣ бо системаи файлӣ тағйир ёбанд. Дар ҳарду ҳолат, муштариёне, ки ба огоҳиномаҳо обуна мешаванд, маълумоти муфассалро дар бораи тағирот дар шакли "делтаҳои захиравӣ" пешниҳод мекунанд. Делта тағиротро байни ду ҳолати дарахти захираи фазои кории (зер) тавсиф мекунад ва худ дарахт аст, ки ҳар як гиреҳи он тағиротро ба захира тавсиф мекунад ва рӯйхати делтаҳоро дар сатҳи оянда, ки тағиротро ба захираҳои кӯдакро тавсиф мекунад, дар бар мегирад.
Райс. 3. IResourceChangeEvent ва IResourceDelta
Механизми огоҳӣ дар асоси дельтаҳои захиравӣ дорои хусусиятҳои зерин мебошад:
- Тағйироти ягона ва бисёр тағйиротҳо бо истифода аз як сохтор тавсиф карда мешаванд, зеро дельта бо истифода аз принсипи таркиби рекурсивӣ сохта шудааст. Мизоҷони муштарӣ метавонанд огоҳиномаҳои тағирёбии захираҳоро бо истифода аз насли рекурсивӣ тавассути дарахти делтаҳо коркард кунанд.
- Делта маълумоти мукаммалро дар бораи тағирот ба манбаъ, аз ҷумла ҳаракати он ва/ё тағирот дар "маркерҳо"-и бо он алоқаманд дар бар мегирад (масалан, хатогиҳои компиляция ҳамчун маркерҳо нишон дода мешаванд).
- Азбаски истинодҳои захираҳо тавассути даста анҷом дода мешаванд, дельта табиатан метавонад ба манбаи дурдаст муроҷиат кунад.
Тавре ки мо ба зудӣ мебинем, ҷузъҳои асосии тарҳрезии механизми огоҳинома дар бораи тағирёбии модели захиравӣ барои дигар моделҳои бар асоси даста низ мувофиқанд.
Core JDT
Модели захираҳои фазои кории Eclipse модели асосии забон-агностикӣ мебошад. Ҷузъи асосии JDT (plugin org.eclipse.jdt.core) API-ро барои паймоиш ва таҳлили сохтори фазои корӣ аз нуқтаи назари Java, ба истилоҳ "Модели Java" (Модели Java). Ин API дар муқоиса бо модели асосии API, ки аз рӯи ҷузвдонҳо ва файлҳо муайян карда мешавад, аз рӯи унсурҳои Java муайян карда мешавад. Интерфейсҳои асосии дарахти элементҳои Java дар расми 4 нишон дода шудаанд. XNUMX.
Райс. 4. Унсурҳои модели Java
Модели Java ҳамон як идиомаи даста/баданро ҳамчун модели манбаъ истифода мебарад (Расми 5). IJavaElement дастаки аст ва JavaElementInfo нақши баданро мебозад. Интерфейси IJavaElement протоколеро, ки барои ҳама унсурҳои Java умумӣ аст, муайян мекунад. Баъзе аз усулҳои он танҳо барои коркард мебошанд: getElementName(), getParent() ва ғайра. Объекти JavaElementInfo ҳолати элементи мувофиқро нигоҳ медорад: сохтор ва атрибутҳои он.
Райс. 5. IJavaElement ва JavaElementInfo
Модели Java дар татбиқи тарҳи асосии даста/бадан нисбат ба модели захиравӣ баъзе фарқиятҳо дорад. Тавре ки дар боло қайд карда шуд, дар модели захиравӣ дарахти элемент, ки гиреҳҳои онҳо объектҳои иттилоотии захиравӣ мебошанд, пурра дар хотира мавҷуд аст. Аммо модели Java метавонад нисбат ба дарахти захираҳо шумораи хеле зиёди элементҳо дошта бошад, зеро он инчунин сохтори дохилии файлҳои .java ва .class: намудҳо, майдонҳо ва усулҳоро ифода мекунад.
Барои он ки пурра ба амал наомадани тамоми дарахти элементҳо дар хотира, татбиқи модели Java кэши маҳдуди LRU-и иттилооти элементро истифода мебарад, ки дар он калид дастаки IJavaElement мебошад. Объектҳои иттилооти элементҳо тибқи дархост сохта мешаванд, зеро дарахти элемент паймоиш мешавад. Дар ин ҳолат, ҷузъҳои камтар истифодашаванда аз кэш хориҷ карда мешаванд ва истеъмоли хотираи модел бо андозаи муайяншудаи кэш маҳдуд мемонад. Ин як бартарии дигари тарҳи бар асоси даста мебошад, ки чунин тафсилоти татбиқро аз рамзи муштарӣ комилан пинҳон мекунад.
Механизми огоҳ кардани тағирот ба унсурҳои Java дар маҷмӯъ ба механизми пайгирии тағирот дар захираҳои фазои корӣ, ки дар боло баррасӣ шуд, монанд аст. Мизоҷ, ки мехоҳад тағиротро дар модели Java назорат кунад, ба огоҳиномаҳо обуна мешавад, ки онҳо ҳамчун объекти ElementChangedEvent, ки дорои IJavaElementDelta мебошанд (расми 6).
Райс. 6. ElementChangedEvent ва IJavaElementDelta
Модели Java маълумот дар бораи сохторҳои методӣ ё ҳалли номро дар бар намегирад, аз ин рӯ барои таҳлили муфассали коди дар Java навишташуда, JDT Core модели иловагиро (ғайри даста асоснок) пешниҳод мекунад:
Азбаски дарахтони синтаксис метавонанд миқдори зиёди хотираро истеъмол кунанд, JDT танҳо як AST-ро барои муҳаррири фаъол кэш мекунад. Баръакси модели Java, AST маъмулан ҳамчун модели "мобайнӣ", "муваққатӣ" баррасӣ мешавад, ки унсурҳои он муштариён набояд ба берун аз контексти амалиёте, ки боиси эҷоди AST гардид, истинод дошта бошанд.
Се модели номбаршуда (модели Java, AST, пайвандҳо) дар якҷоягӣ барои сохтани "асбобҳои интеллектуалии рушд" дар JDT, аз ҷумла як муҳаррири пурқуввати Java бо "ёрирасони гуногун", амалҳои гуногун барои коркарди коди манбаъ (аз ҷумла ташкили рӯйхати воридот) асосиро ташкил медиҳанд. номҳо ва форматкунӣ мувофиқи услуби фармоишӣ), абзорҳои ҷустуҷӯ ва рефакторинг. Дар ин ҳолат модели Java нақши махсус мебозад, зеро маҳз он ҳамчун асос барои муаррифии визуалии сохтори замимаи таҳияшаванда истифода мешавад (масалан, дар Package Explorer, Outline, Search, Call Hierarchy ва Навъи иерархия).
Компонентҳои Eclipse, ки дар Tools 1C: Enterprise Developments истифода мешаванд
Дар расми. Дар расми 7 ҷузъҳои Eclipse нишон дода шудааст, ки асоси платформаи технологии 1C: Tools Development Enterprise -ро ташкил медиҳанд.
Райс. 7. Eclipse ҳамчун платформа барои 1C: Tools Development Enterprise
Платформаи Eclipse инфраструктураи асосиро таъмин мекунад. Мо баъзе ҷанбаҳои ин инфрасохторро дар фасли қаблӣ дида баромадем.
Мисли ҳама гуна асбоби воқеии умумӣ, EMF барои ҳалли доираи васеи масъалаҳои моделсозӣ мувофиқ аст, аммо баъзе синфҳои моделҳо (масалан, моделҳои дар асоси дастаки дар боло муҳокимашуда) метавонанд асбобҳои махсуси моделсозии бештарро талаб кунанд. Гуфтугӯ дар бораи EMF кори ношукрист, алахусус дар доираи маҳдуди як мақола, зеро ин мавзӯи як китоби алоҳида ва хеле ғафс аст. Фақат қайд кунем, ки системаи баландсифати умумӣ дар асоси EMF имкон дод, ки як қатор лоиҳаҳое, ки ба моделсозӣ бахшида шудаанд, ба лоиҳаи сатҳи олӣ дохил карда шаванд.
1C: Воситаҳои рушди корхона ҳам худи EMF ва ҳам як қатор лоиҳаҳои дигари моделсозии Eclipse-ро фаъолона истифода мебаранд. Аз ҷумла, Xtext яке аз асосҳои асбобҳои таҳияи чунин забонҳои 1C: Enterprise ба монанди забони дохилии барномасозӣ ва забони дархост мебошад. Асоси дигари ин абзорҳои таҳия лоиҳаи Eclipse Handly мебошад, ки мо онро ба таври муфассал баррасӣ хоҳем кард (аз ҷузъҳои Eclipse номбаршуда, он то ҳол камтар маълум аст).
Принсипҳои асосии меъмории моделҳои ба даста асосёфта, ба монанди идиомаи даста/бадан, дар боло бо истифода аз модели захиравӣ ва модели Java ҳамчун мисол муҳокима карда шуданд. Он инчунин қайд кард, ки ҳам модели захиравӣ ва ҳам модели Java заминаи муҳим барои абзорҳои таҳияи Java Eclipse (JDT) мебошанд. Ва азбаски қариб ҳамаи лоиҳаҳои *DT Eclipse дорои меъмории шабеҳ ба JDT мебошанд, гуфтан муболиғаи бузург нест, агар бигӯем, ки моделҳои ба даста асосёфта дар асоси бисёриҳо қарор доранд, агар на ҳама IDE-ҳои дар болои Платформаи Eclipse сохташуда. Масалан, Eclipse C/C++ Tooling (CDT) дорои модели ба даста асосёфтаи C/C++ мебошад, ки дар меъмории CDT ҳамон нақшро мебозад, ки модели Java дар JDT иҷро мекунад.
Пеш аз Handly, Eclipse китобхонаҳои махсусро барои сохтани моделҳои забон дар асоси даста пешниҳод намекард. Моделҳое, ки дар айни замон вуҷуд доранд, асосан тавассути мутобиқсозии бевоситаи коди модели Java сохта шудаанд (масалан, нусхабардорӣ / часбонед), дар мавридхое, ки он имкон медихад Литсензияи ҷамъиятии Eclipse (EPL). (Аён аст, ки ин одатан барои худи лоиҳаҳои Eclipse як масъалаи ҳуқуқӣ нест, аммо на барои маҳсулоти манбаи пӯшида.) Илова бар тасодуфии хоси худ, ин усул мушкилоти маъруфро пешниҳод мекунад: такрори код ҳангоми мутобиқшавӣ ба хатогиҳо, ва ғайра. Бадтараш он аст, ки моделҳои натиҷавӣ "чизҳои худ" боқӣ мемонанд ва аз потенсиали муттаҳидшавӣ истифода намебаранд. Аммо ҷудо кардани мафҳумҳо ва протоколҳои умумӣ барои моделҳои забонӣ метавонад боиси эҷоди ҷузъҳои такрорӣ барои кор бо онҳо гардад, ба монанди он чизе, ки дар мавриди EMF рӯй дод.
Ин нест, ки Eclipse ин масъалаҳоро нафаҳмидааст. Бозгашт ба соли 2005
Ба маънои муайян, лоиҳаи Handly барои ҳалли тақрибан ҳамон мушкилоте, ки EMF дорад, тарҳрезӣ шудааст, аммо барои моделҳои ба даста асосёфта ва пеш аз ҳама забонҳо (яъне, унсурҳои сохтори баъзе забони барномасозӣ). Ҳадафҳои асосӣ ҳангоми тарҳрезии Handly дар зер оварда шудаанд:
- Муайян кардани абстраксияҳои асосии соҳаи мавзӯъ.
- Коҳиш додани саъю кӯшиш ва баланд бардоштани сифати татбиқи моделҳои забон дар асоси даста тавассути истифодаи такрории код.
- Таъмини API-и ягонаи сатҳи мета-сатҳи ба моделҳои натиҷавӣ, имкон медиҳад, ки ҷузъҳои умумии IDE, ки бо моделҳои ба забон асосёфта кор мекунанд, эҷод кунанд.
- Фасеҳӣ ва миқёспазирӣ.
- Интегратсия бо Xtext (дар қабати алоҳида).
Барои нишон додани мафҳумҳо ва протоколҳои умумӣ, татбиқи мавҷудаи моделҳои ба забон асосёфта таҳлил карда шуданд. Интерфейсҳои асосӣ ва татбиқи асосие, ки аз ҷониби Handly пешниҳод шудаанд, дар расм нишон дода шудаанд. 8.
Райс. 8. Интерфейсҳои умумӣ ва татбиқи асосии унсурҳои Handly
Интерфейси IElement дастаки элементро ифода мекунад ва барои унсурҳои ҳама моделҳои ба Handly асосёфта маъмул аст. Синфи абстрактӣ Element механизми дастаки/танаи умумиро амалӣ мекунад (расми 9).
Райс. 9. IElement ва дастаки умумӣ / татбиќи бадан
Илова бар ин, Handly як механизми умумиро барои огоҳӣ дар бораи тағирот дар элементҳои модел пешниҳод мекунад (расми 10). Тавре ки шумо мебинед, он ба таври васеъ ба механизмҳои огоҳие, ки дар модели захиравӣ ва модели Java амалӣ карда шудаанд, шабоҳат дорад ва IElementDelta-ро барои пешниҳоди ягонаи иттилооти тағирёбии унсурҳо истифода мебарад.
Райс. 10. Интерфейсҳои умумӣ ва татбиқи асосии механизми огоҳии Handly
Қисми Handly, ки дар боло баррасӣ шуд (расми 9 ва 10) метавонад барои муаррифии қариб ҳама моделҳои ба даста асосёфта истифода шавад. Барои эҷод забоншиносӣ Моделҳо, лоиҳа функсияҳои иловагиро пешниҳод мекунад - аз ҷумла, интерфейсҳои умумӣ ва татбиқи асосӣ барои унсурҳои сохтори матни сарчашма, ба ном унсурҳои манбаъ (расми 8). Интерфейси ISourceFile файли сарчашмаро муаррифӣ мекунад ва ISourceConstruct як унсурро дар дохили файли манбаъ муаррифӣ мекунад. Синфҳои абстрактии SourceFile ва SourceConstruct механизмҳои умумиро барои дастгирии кор бо файлҳои ибтидоӣ ва унсурҳои онҳо амалӣ мекунанд, масалан, кор бо буферҳои матнӣ, пайваст кардани координатаҳои элемент дар матни манбаъ, мувофиқ кардани моделҳо бо мундариҷаи ҷории буфери нусхаи корӣ , ва гайра. Татбиқи ин механизмҳо одатан хеле мушкил аст ва Handly метавонад саъю кӯшиши таҳияи моделҳои забонҳои ба даста асосёфтаро тавассути пешниҳоди татбиқи босифати асосиро ба таври назаррас коҳиш диҳад.
Илова ба механизмҳои асосии дар боло номбаршуда, Handly инфрасохтори буферҳои матнӣ ва аксҳои аксбардорӣ, дастгирии ҳамгироӣ бо муҳаррирони коди ибтидоӣ (аз ҷумла ҳамгироии берун аз қуттӣ бо муҳаррири Xtext), инчунин баъзе ҷузъҳои маъмули UI, ки кор бо муҳаррирҳои коди сарчашма Моделҳои дастӣ ба монанди чаҳорчӯбаи контур. Барои нишон додани қобилиятҳои худ, лоиҳа якчанд мисолҳоро пешниҳод мекунад, аз ҷумла татбиқи модели Java дар Handly. (Дар муқоиса бо татбиқи пурраи модели Java дар JDT, ин модел барои возеҳи бештар қасдан то андозае содда карда шудааст.)
Тавре ки қаблан зикр гардид, таваҷҷӯҳи асосӣ ҳангоми тарҳрезии ибтидоии Handly ва рушди минбаъда ба миқёспазирӣ ва чандирӣ буд ва боқӣ мемонад.
Аслан, моделҳои ба даста асосёфта «аз рӯи тарҳ» хеле хуб миқёс доранд. Масалан, идиомаи дастаки/бадан ба шумо имкон медиҳад, ки миқдори хотираи аз ҷониби модел истеъмолшударо маҳдуд кунед. Аммо нозукиҳо низ ҳастанд. Ҳамин тариқ, ҳангоми санҷиши Handly барои миқёспазирӣ, дар татбиқи механизми огоҳӣ мушкилот ошкор карда шуд - вақте ки шумораи зиёди элементҳо иваз карда шуданд, сохтани дельтҳо вақти аз ҳад зиёдро талаб кард. Маълум шуд, ки ҳамин мушкилот дар модели JDT Java вуҷуд дорад, ки як маротиба коди мувофиқ аз он мутобиқ карда шудааст. Мо хатогиро дар Handly ислоҳ кардем ва як ямоқи шабеҳро барои JDT омода кардем, ки бо миннатдорӣ қабул карда шуд. Ин танҳо як мисолест, ки ворид кардани Handly ба татбиқи моделҳои мавҷуда метавонад муфид бошад, зеро дар ин ҳолат чунин хатогиро танҳо дар як ҷо ислоҳ кардан мумкин аст.
Барои он ки татбиқи Handly ба татбиқи моделҳои мавҷуда аз ҷиҳати техникӣ имконпазир бошад, китобхона бояд чандирии назаррас дошта бошад. Мушкилоти асосӣ нигоҳ доштани мутобиқати ақиб дар модели API мебошад. Дар ин масъала хал карда шуд
Фарқият ҷанбаҳои дигар низ дорад. Масалан, Handly дар сохтори модел қариб ҳеҷ гуна маҳдудият ҷорӣ намекунад ва метавонад барои моделсозии забонҳои таъиноти умумӣ ва доменӣ истифода шавад. Ҳангоми сохтани сохтори файли манбаъ, Handly ягон шакли мушаххаси муаррифии AST-ро муқаррар намекунад ва аслан, ҳатто мавҷудияти худи AST-ро талаб намекунад ва ҳамин тавр мутобиқатро бо қариб ҳама механизми таҳлили таҳлил таъмин мекунад. Ниҳоят, Handly ҳамгироии пурраро бо фазои кории Eclipse дастгирӣ мекунад, аммо инчунин метавонад ба туфайли ҳамгироӣ бо системаҳои файлӣ мустақиман кор кунад.
Версияи ҳозира
Тавре ки дар боло зикр гардид, яке аз ин маҳсулот 1C: Tools Development Enterprise мебошад, ки дар он Handly аз ибтидо барои моделсозии унсурҳои сохтори сатҳи баланди чунин забонҳои 1C: Enterprise ҳамчун забони дохилии барномасозӣ ва забони дархост истифода мешавад. . Махсулоти дигар ба омма кам маълум аст. Ин
Мо умедворем, ки пас аз нашри версияи 1.0 бо кафолати устувории API ва лоиҳае, ки аз ҳолати инкубатсия хориҷ мешавад, Handly қабулкунандагони нав хоҳад дошт. Дар ҳамин ҳол, лоиҳа озмоиш ва такмили минбаъдаи API-ро идома дода, дар як сол ду релизҳои "асосӣ" - дар моҳи июн (ҳамон санаи релизҳои ҳамзамон Eclipse) ва декабрро мебарорад, ки ҷадвали пешбинишавандаеро фароҳам меорад, ки қабулкунандагон метавонанд ба онҳо такя кунанд. Мо инчунин метавонем илова кунем, ки "суръати хатогиҳо" -и лоиҳа дар сатҳи пайваста паст боқӣ мемонад ва Handly аз версияҳои аввал дар маҳсулоти қабулкунандагони барвақт ба таври эътимодбахш кор мекунад. Барои омӯзиши минбаъдаи Eclipse Handly, шумо метавонед истифода баред
Манбаъ: will.com