
рдореИрдВ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореЗрд░реА рд╕рдордЭ рдореЗрдВ рдкреНрд░рдгрд╛рд▓реА рди рдХреЗрд╡рд▓ рдХреЛрдб рд╣реИ, рдмрд▓реНрдХрд┐ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдФрд░ рд▓реЛрдЧ рднреА рд╣реИрдВред
рдореИрдВ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреВрдВрдЧрд╛: рд╣рдо рдХреНрдпрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдпрд╣ рдХреМрди рдХрд░ рд░рд╣рд╛ рд╣реИ? рдпрд╣ рд╕рдм рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ? рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИ?
рдФрд░ рдлрд┐рд░ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдореИрдВ рдкрд╣рд▓реА рд╕реЗ рдиреМрд╡реАрдВ рддрдХ рдкрд░реАрдХреНрд╖рдг рдордВрдбрд▓рд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред
рдХреНрдпрд╛?
рд╣рдорд╛рд░рд╛ рдЙрддреНрдкрд╛рдж рдПрдХ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд┐рд╕ рдбреЗрд╕реНрдХ рд╣реИ, рдЬреЛ рдЬрд╛рд╡рд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред
рдХреМрди?
рдореИрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рд╕рдореВрд╣ рдХрд╛ рдиреЗрддрд╛ рд╣реВрдВ; рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЬрд┐рд╕рдХрд╛ рдХреЛрдб рд╣рдо рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ; рд╣рд╛рде рдкрд░реАрдХреНрд╖рдХ рдЬрд┐рдирдХреА рджрд┐рдирдЪрд░реНрдпрд╛ рд╣рдо рдорд┐рдЯрд╛ рджреЗрддреЗ рд╣реИрдВ; рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрджрд┐ рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИред
рдХреНрдпреЛрдВ?
рдореЗрд░реЗ рд╕рдореВрд╣ рдХрд╛ рд▓рдХреНрд╖реНрдп рдЙрддреНрдкрд╛рдж
рдХреЛ рдореГрддреНрдпреБ рдХреЗ
рдкреНрд░рддрд┐рдЧрдорди рд╕рд░реНрдкрд┐рд▓ рд╕реЗ рдмрдЪрд╛рдирд╛ рд╣реИред
рд╕рдореВрд╣ рдХрд╛ рдХрд╛рд░реНрдп рдореИрдиреНрдпреБрдЕрд▓ рд╢реНрд░рдо рдХреА рдиреНрдпреВрдирддрдо рд░рд╛рд╢рд┐ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХрддрдо рджрд┐рд▓рдЪрд╕реНрдк рддрд░реАрдХреЛрдВ рдХреЗ рджреЛрд╖реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдирд╣реАрдВ рд╣реИред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рдХреНрдпрд╛ рд╣реИ?
рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдПрдиреНрдХреЛрдб рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 900 рдХрдо рдФрд░ рдмрд╣реБрдд рдкрд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рдорд▓реЗ рдирд╣реАрдВ рд╣реИрдВред
рдЫрд╣ рд╕рд░реНрд╡рд░, рддреАрди DBMS, рджреЛ OS рдкрд░рд┐рд╡рд╛рд░реЛрдВ рдФрд░ рддреАрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдкрд░ CI рдЬреЗрдирдХрд┐рдВрд╕ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдПрдХ рдЙрддреНрдкрд╛рдж рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВред
рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
рд╕рд░реНрдХрд▓ рдПрдХ - рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рджреГрд╢реНрдпред
рд╕рдмрд╕реЗ рдЫреЛрдЯреА рдЗрдХрд╛рдИ - рдкрд░реАрдХреНрд╖рдг, рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред
Javadoc рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдзрд┐, рдЬрд┐рд╕реЗ рд╣рдо рддрдм рдореИрдиреБрдЕрд▓ рдкрд░реАрдХреНрд╖рдХреЛрдВ рдФрд░ PMAs рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред - рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд╢реАрд░реНрд╖рдХ рд╣рдо рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рд╡рд░рдг рд╣реИред
- рдЙрд╕ рдмрдпрд╛рди рд╕реЗ рд▓рд┐рдВрдХ рдЬрд┐рд╕ рдкрд░ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ; рдпрджрд┐ рдпрд╣ рдирд╣реАрдВ рд╣реИ, рддреЛ рдорд╛рдорд▓рд╛ рдкрд░реАрдХреНрд╖рдХ рдХреА рд╕рд╣рдЬ рдХрд▓реНрдкрдирд╛ рдХрд╛ рдПрдХ рдЦреЗрд▓ рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╣реИ, рд╣рдо рдордЬрд╛рдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
- рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд░реВрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдкрд░реАрдХреНрд╖рдг рдХреЗ рддреАрди рдЪрд░рдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ - рддреИрдпрд╛рд░реА, рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдФрд░ рд╕рддреНрдпрд╛рдкрдиред
рдиреЛрдЯ: рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░реВрд╕реА рдореЗрдВ рдЬрд╛рд╡рд╛ рд╕реЗ рдЕрдиреБрд╡рд╛рдж рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рд╛рдердорд┐рдХ рд╣реИ, рдФрд░ рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдорд╛рдорд▓реЗ рдХреЛ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдЗрд╕реЗ рдХреЛрдб рдХрд░рдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдХреЛ рдПрдиреНрдХреЛрдб рдХрд░рддрд╛ рд╣реИред
рдкрд░реАрдХреНрд╖рдг рдХрд╛
рдкрд╣рд▓рд╛ рдЪрд░рдг рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдХреА рддреИрдпрд╛рд░реА рд╣реИред
Catalog catalog = DAOCatalog.create(true, false); catalog.set(Catalog.TITLE, тАЬ тАЭ) DSLCatalog.add(catalog); CatalogItem item = DAOCatalogItem.create(catalog); DSLCatalogItem.add(item);
рдЕрд╡рдзрд╛рд░рдгрд╛ - рдбреАрдПрдУ рд╕реЗ рд╡рд┐рдзрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдореЙрдбрд▓ рд╣реИ; рдбреАрдПрд╕рдПрд▓ рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд╕рд╛рде рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рдореЙрдбрд▓ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рд░рд╛рдЬреНрдп рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХреЗ рддрд╣рдд рд╕рд┐рд╕реНрдЯрдо рд▓рд╛рддреА рд╣реИрдВред
рдбреАрдПрд╕рдПрд▓ рд╕реЗ рд╡рд┐рдзрд┐рдпрд╛рдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрджрд▓ рджреЗрддреА рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдПрдХ рдкреБрди: рд╕реЗрд╡рд╛ рд╣реИред рд╣рдо рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкреВрд░реЗ рдкрд╣рд▓реЗ рдЪрд░рдг рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВред
рдиреЛрдЯ: рдирд┐рдпрдо рдкреНрд░рддреНрдпреЗрдХ рдПрдиреНрдХреЛрдбреЗрдб рдкрд░реАрдХреНрд╖рдг рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреАрдПрд╕рдПрд▓ рд▓рд┐рдЦрдирд╛ рд╣реИ рддрд╛рдХрд┐ рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рдореЙрдбрд▓ рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдПрдХ рдирдХреНрд╢рд╛ рд╣реИ, рд╣рдо рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рдмрдирд╛рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред
рдкрд░реАрдХреНрд╖рдг рдХрд╛
рджреВрд╕рд░рд╛ рдЪрд░рдг рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрд▓реЗрдирд┐рдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╣реИред
DSLCatalog.goToCard(tester, item.get(CatalogItem.PARENT_CODE)); tester.clickElement(ADD_ELEMEMT); DSLForm.assertFormAppear(tester, DSLForm.DIALOG); tester.sendKeys(DSLForm.TITLE_INPUT, item.get(CatalogItem.TITLE)); tester.sendKeys(DSLForm.CODE_INPUT, item.get(CatalogItem.CODE)); tester.clickElement(DSLForm.SAVE_ON_FORM); DSLForm.assertFormDisappear(tester, DSLForm.DIALOG);
рдиреЛрдЯ: рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд░реАрдХреНрд╖рдгрд╢реАрд▓рддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдирдП рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рддрддреНрд╡ рдХреА рдкреГрд╖реНрда рдХреЗ рднреАрддрд░ рдЕрдкрдиреА рдЕрдиреВрдареА рдЖрдИрдбреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░рд╛ xpath рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ: "//*[@id='description-value']"
рдпрд╛ "//*[@id='description-input']"
рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ:
"/html/body/table/tbody/tr/td[6]/table/tbody/tr[4]/td/div"
рд▓реЗрдЖрдЙрдЯ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╡рд░реНрдЧ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рддреАрд╕рд░рд╛ рдЪрд░рдг рд╕рддреНрдпрд╛рдкрди рдпрд╛ рд╕рддреНрдпрд╛рдкрди рд╣реИред рд╣рдо рдЗрд╕реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
Assert.assertEquals(" ", template.get(ReportTemplate.TITLE), tester.getTextElement(DSLForm.TITLE_VALUE));
рдФрд░ рдлрд┐рд░ рдЖрдк рдЗрд╕реЗ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
ModelMap map = SdDataUtils.getObject(sc.get(Bo.METACLASS_FQN), Bo.UUID, sc.getUUID()); String message = String.format(" uuid- '%s' .", sc.getUUID()); Assert.assertEquals(message, team.get(Bo.TITLE), SdDataUtils.getMapValue(map, "responsibleTeam").get("title"));
рдиреЛрдЯ: рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдореЗрдВ рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ; рд╕реНрд╡рдЪрд╛рд▓рди рд╕рдореБрджрд╛рдп рддрддреНрд╡реЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рд▓рд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЕрдиреБрд░реЛрдз рдХрд╛рдЙрдВрдЯрд░ рдХрд╛ рдЖрджреЗрд╢ рджрд┐рдпрд╛ред рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рддреЗрдЬреА рд▓рд╛рддреЗ рд╣реИрдВред
рджреВрд╕рд░рд╛ рдФрд░ рддреАрд╕рд░рд╛ рдЪрд░рдг рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдПрдкреАрдЖрдИ рдкрд░ рд▓рдЧрднрдЧ рд╕реМ рдкрд░реАрдХреНрд╖рдгред
рдиреЛрдЯ: рдХрд┐рд╕реА рдиреЗ рд╕реЛрдЪрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рдХреНрдпрд╛ рдпреВрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдФрд░ рдЙрдард╛рдП рдЧрдП рдЖрд╡реЗрджрди рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?
рдореИрдВ рдЬрд╡рд╛рдм рджреВрдВрдЧрд╛: рд╣рдорд╛рд░реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрд╛рд░реНрдпреЛрдВ рдХреА рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреА рдЙрдЪреНрдЪ рдЬрдЯрд┐рд▓рддрд╛ рд╣реИред рд▓рдЧрднрдЧ рд╣рд░ рдкрд░реАрдХреНрд╖рд╛ рдореЗрдВ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдПрдХ рдмрдбрд╝реЗ рд╕рдВрджрд░реНрдн рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпреВрдирд┐рдЯ-рдкрд░реАрдХреНрд╖рдг рд╕рдордп рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд╣реАрдВ рдЬреАрддрддреЗ рд╣реИрдВ рдФрд░ рд▓реЗрдЦрди рдЬрдЯрд┐рд▓рддрд╛ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рд╣рд╛рд░ рдЬрд╛рддреЗ рд╣реИрдВред
рджреВрд╕рд░рд╛ рдЪрдХреНрд░ред рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд╡рд╛рддрд╛рд╡рд░рдгред
рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд▓реЙрдиреНрдЪ рд╕реЗ рдкрд╣рд▓реЗ:
- рд╕рд┐рд╕реНрдЯрдо рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдФрд░ рдЙрд╕рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ
- рд╣рдо рд╡реИрд╢реНрд╡рд┐рдХ рд╕рд┐рд╕реНрдЯрдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрд╡рд╢реНрдпрдХ рдорд╛рди рд╕реЗрдЯ рдХрд░реЗрдВ
рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧ рд╕реЗ рдкрд╣рд▓реЗ
- рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ
- рд╕рд┐рд╕реНрдЯрдо рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж:
- рдЙрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ - рд╕рд┐рд╕реНрдЯрдо рдХреА рдЧрддрд┐ рдмрдирд╛рдП рд░рдЦрдиреЗ рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЬрдм рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЙрд▓реНрдЯреЗ рдХреНрд░рдо рдореЗрдВ рдкрдВрдХреНрддрд┐рдмрджреНрдз рдФрд░ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рддреАрд╕рд░рд╛ рдЪрдХреНрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдкрджрд╛рдиреБрдХреНрд░рдо рд╣реИред

- рдПрдХ рдкрд░реАрдХреНрд╖рд╛ - рдПрдХ рдХреНрд░рд┐рдпрд╛ред рдЕрдкрд╡рд╛рдж 5% рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ
- рдЯреЗрд╕реНрдЯ 3-10 рдЯреБрдХрдбрд╝реЛрдВ рдХреА рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рд╕рдВрдпреБрдХреНрдд рд╣реЛрддреЗ рд╣реИрдВ, рд╡реЗ рдПрдХ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ
- 5-15 рдХрдХреНрд╖рд╛рдПрдВ рд╕рдВрдХреБрд▓ рдореЗрдВ рд╕рдВрдпреБрдХреНрдд рд╣реИрдВред рдкреИрдХреЗрдЬ рдЖрд╡реЗрджрди рдХреЗ рд╕рд╛рд░ рдпрд╛ рдкрд╣рд▓реВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реИред
- рдкреИрдХреЗрдЬ 15
рдиреЛрдЯ: рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдЕрд╕реЗрдВрдмрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЬрд╛рд╡рджреЛрдХ mvn -f sdng-inttest/pom.xml javadoc:test-javadoc -e
рдпрд╣ рдореИрдиреБрдЕрд▓ рдкрд░реАрдХреНрд╖рдХреЛрдВ рдФрд░ рдкреАрдПрдо рдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдХреНрдпрд╛ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЛ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЧрд┐рдЯ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдирд╣реАрдВ рдХрд░рдиреЗ рдФрд░ рдЖрдИрдбреАрдИ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
рдЬрдбрд╝ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:
рдЪреМрдерд╛ рдЪрдХреНрд░ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдХрд╛ рд╕рдВрдЧрдарди рд╣реИред

рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдХреЛрдб рдХреА 60,000 рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВ
- рдЯреЗрд╕реНрдЯ рдХреЛрдб
- рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдбреЛрдореЗрди рдХреЗ рддрд░реАрдХреЗ: DSL рдХреЛрдб (рдкрд░реАрдХреНрд╖рдг рдХреЗ рддрд╣рдд рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рдХрд╛рдо) рдФрд░ DAO (рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо)
- рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╡рд┐рдзрд┐рдпрд╛рдВ рдкрд░реАрдХреНрд╖рдг рдХреЗ рддрд╣рдд рдЖрд╡реЗрджрди рд╕реЗ рдЬреБрдбрд╝реА рдирд╣реАрдВ рд╣реИрдВ - рддрд╛рд░, рдлрд╛рдЗрд▓реЗрдВ, JSON, рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ред
- рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдореВрд▓: рд▓реЙрдЧ, рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ, рд╕рдлрд╛рдИ, рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕, рдЕрдкрд╡рд╛рдж рддрдВрддреНрд░ред
рдиреЛрдЯ: рдпрд╣ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреИрд╕реЗ рджрд┐рдЦрддреА рд╣реИрдВ, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдЗрд╕реЗ рдЙрдкрдпреЛрдЧреА рдкрд╛рдПрдЧрд╛:
FirefoxProfile private WebDriver openFirefox() { FirefoxProfile firefoxProfile = new FirefoxProfile();
рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдореВрд▓ рдкрд░ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдРрд╕реА рдЕрджреНрднреБрдд рдЪреАрдЬ рднреА рд╣реИред
рдиреЛрдЯ: рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА, рдПрдХ рдФрд░ рдбреЗрдврд╝ рд╕рд╛рд▓ рд╕реЗ рд░рд╣ рд░рд╣реА рд╣реИ, svn рд╕реЗ git рдХреА рдЪрд╛рд▓ рд╕реЗ рдмрдЪреА рд╣реБрдИ рд╣реИ, 300 рдХрдорд┐рдЯ рдХрд░рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП 100 рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ
рджреЛ рдореБрдЦреНрдп рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ - рдЬреЗрдирдХрд┐рдВрд╕ рд╕реЗ рд╢реБрд░реВ рдФрд░ рдЧреНрд░рд╣рдг рд╕реЗ
рд▓реЙрдиреНрдЪ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо:
- рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдорд╛рд╡реЗрди рд╕реЗ рдкрд╛рд░рд┐рдд - рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ред рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдпрджрд┐ рдХреЛрдИ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд╣реАрдВ рд╣реИ, рддреЛ рдмрдирд╛рдПрдВред
- рд╣рдо рд╡рд┐рдиреНрдпрд╛рд╕ рд╕реЗ рдмрд╛рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд▓реЗрддреЗ рд╣реИрдВред рдпрджрд┐ рдХреЛрдИ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд╣реАрдВ рд╣реИ, рддреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗред
- рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдкрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ CI рдореЗрдВ рд╣рдо рдорд╛рд╡реЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред
рдореЗрд░реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓: allowscreenshot=true needinit=true superlogin=naumen allowsaveconfig=true clickertime=3600000 testerpassword=atpassword testerlogin=atlogin superpassword= needdelete=true webaddress=http://localhost:9090/sd/ browsertype=firefox
рдиреЛрдЯ: рдЯреАрдПрд╕ рд╕рднреА рд╡рдпрд╕реНрдХ рд╣реИ - рдЗрд╕рдХреА рдЕрдкрдиреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рдЙрдкрдпреЛрдЧ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИрдВред
"рдПрдХ рдСрдЯреЛрдЯреЗрд╕реНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдПрдХ рд╕реНрдерд╛рдиреАрдп рдмреЗрдВрдЪ рдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЗ рдЖрдЧреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП, рдпрд╛ рдирдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рдиреАрдп рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред"
тАЬрдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЯреАрдПрд╕ рдкреНрд░рддреНрдпреЗрдХ рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд╛рдж рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рддрд╛рдХрд┐ рд╕рдордп рдкрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рд╣реЛ рд╕рдХреЗред
рдФрд░ рдЗрд╕реА рддрд░рд╣ред
рд╣рдо рдЙрдирдХреЗ рдмрджрд╕реВрд░рдд рддрд░реАрдХреЗ рд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рд░реВрдк рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд╕рдВрддреБрд▓рди рдХрд╛рдпрдо рдХрд░рддреЗ рд╣реИрдВред
рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ pom.xml рдореЗрдВ <profile> <id>smoke-snap2-branch</id> ... <execution> <id>integration-tests</id> <configuration> <excludes> <exclude>all</exclude> </excludes> <includes> <include>**/selenium/**/advlist/*Test.java</include> <include>**/selenium/**/bo/*Test.java</include> <include>**/selenium/**/advimport/*Test.java</include> <include>**/selenium/**/user/*Test.java</include> <include>**/selenium/**/rights/*Test.java</include> </includes> ... </profile>
рдХрдИ рдРрд╕реЗ рдкреНрд░реЛрдлрд╛рдЗрд▓ рд╣реИрдВ рдЬрд┐рдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреИрдХреЗрдЬ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЯреВрдЯ рдЬрд╛рддреЗ рд╣реИрдВред
рдкрд╛рдВрдЪрд╡рд╛рдВ рдЪрдХреНрд░ред рд╕реНрд░реЛрдд рдХреЛрдб рдкреНрд░рдмрдВрдзрди
рд╣рдо рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ git рдмреНрд░рд╛рдВрдЪрд┐рдВрдЧ рдореЙрдбрд▓ рдХрд╛ рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдиреЛрдЯ: рдЯреЗрд╕реНрдЯ рдЖрд╡реЗрджрди рдХреЛрдб рдХреЗ рд╕рдорд╛рди рд╣реА рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рд╢рд╛рдЦрд╛ рдХреЛ рдЕрд▓рдЧ рдХрд░рдХреЗ, рдбреЗрд╡рд▓рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рдХреЛ рднреА рдЕрд▓рдЧ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрддрд╛ рд╣реИред рд╣рдо рддреБрд░рдВрдд рдЗрд╕ рд╕реНрдкрд╖реНрдЯ рдирд┐рд░реНрдгрдп рдкрд░ рдирд╣реАрдВ рдЖрдПред
рдЫрдареЗ рдХрд╛ рдЪрдХреНрд░ред CI рдЬреЗрдирдХреАрдВрд╕ рдореЗрдВ рдЕрд▓рдЧ рд╡рд┐рдзрд╛рдирд╕рднрд╛ред
рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдПрдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдирд┐рдпрдореЛрдВ рдХреЛ рдЙрдирдХреЗ рдЖрд╡реЗрджрди рдХреЗ рд╕реНрдерд╛рди рдХреЗ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдХрд░реАрдм рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдВ рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ рджрд┐рдП рдЧрдП рд╣реИрдВред
рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдкреНрд▓рдЧрдЗрдиреНрд╕:
- рдХреНрд▓реЛрди рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ , рдЬреЛ рдХрд┐рд╕реА рдХреЛ рдореВрд▓ рдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдФрд░ рдмрдЪреНрдЪреЗ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рдмреАрдЪ рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдиреЗ рдкрд░ desync рд╕реЗ рдмрдЪрддрд╛ рд╣реИред
- Xvfb рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рд╕реНрдХреНрд░реАрди рд╣реИред
рдЪрд▓ рд░рд╣реЗ рдкрд░реАрдХреНрд╖рдг:
export DISPLAY='localhost:'$DISPLAY_NUM'.0'; mvn verify -P war-deploy,$TEST_PROFILE -Dext.prop.dir=$WORKSPACE/$PROP_DIR -Dwebaddress=http://localhost:$DEPLOY_PORT/sd -Dselenium.deploy.port=$DEPLOY_PORT -Dcargo.tomcat.ajp.port=$ARJ_PORT -Dcargo.rmi.port=$RMI_PORT
рдпреБрджреНрдз-рддреИрдирд╛рдд рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХрд╣рд╛рдВ рд╣реИ -
рдорд╛рд╡реЗрди-рдХрд╛рд░реНрдЧреЛ-рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрдк рдХреЛ рдКрдкрд░ рдЙрдард╛рдирд╛
рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдмрд╛рджред
рд╕рд╛рддрд╡рд╛рдВ рдЪрдХреНрд░ред рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкрджрд╛рдиреБрдХреНрд░рдоред
рдЕрд╕реЗрдВрдмрд▓реА рд╕рдореВрд╣ рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реЛрдВ рдХреЛ рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЙрд╕реЗ
рд╢рд╛рдЦрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
ред
рдореВрд▓ рд╡рд┐рдзрд╛рдирд╕рднрд╛ - рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╕рдВрдХрд▓рдиред
рджреВрд╕рд░реА-рд╕реНрддрд░реАрдп рдмрд╛рд▓ рдЕрд╕реЗрдВрдмрд▓реА - рдкреЛрд╕реНрдЯрдЧреНрд░реИрд╕реЗрдХрд▓, рдПрдордПрд╕рдПрд╕рд╕реАрдПрд▓, рдУрд░реЗрдХрд▓ рдХреЗ рд▓рд┐рдП рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг; рд╕реНрдЯреИрдЯрд┐рдХ рдХреЛрдб рдПрдирд╛рд▓рд┐рд╕рд┐рд╕ (CPD, PMD, findbugs); рдпреВрдЖрдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдпреБрджреНрдз рдлрд╝рд╛рдЗрд▓ (рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рд╕рдордп рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП) рдХреА рдЕрд╕реЗрдВрдмрд▓реАред
рддреАрд╕рд░реЗ рд╕реНрддрд░ - рддреАрди рдзрд╛рд░рд╛рдУрдВ рдореЗрдВ рдпреВрдЖрдИ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдкреНрд░рд╡рд╛рд╕ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдгред
рд╡рд┐рд╢рд┐рд╖реНрдЯ рддреАрд╕рд░реА рд╢рд╛рдЦрд╛ рдиреЛрдЯ: рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдЕрд╕реЗрдВрдмрд▓реА рдПрдХ рд╕рд░рд▓ рдФрд░ рдкреНрд░рднрд╛рд╡реА рдкрд░реАрдХреНрд╖рдг рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рд╛рдЪреАрди рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдмреИрдХрдЕрдк рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЕрдВрддрд┐рдо рдпреБрджреНрдз рдлрд╝рд╛рдЗрд▓ рдкрд░ рдЪрдврд╝рддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдбреЗрдЯрд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкрд╛рд╕ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ рдЧреИрд░-рд░рд┐рдХреНрдд рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдЙрдЧрддрд╛ рд╣реИред
рдЖрдард╡рд╛рдВ рд╕рд░реНрдХрд▓, рдирд┐рд░рдВрддрд░ рдПрдХреАрдХрд░рдг рд╕реНрддрд░
рд╣рдорд╛рд░реА рд╕реАрдЖрдИ 4 рд╢рд╛рдЦрд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреА рд╢рд╛рдЦрд╛ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдПрдХ рдореБрдЦреНрдп рд╢рд╛рдЦрд╛, рдЬрд┐рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рднреА рд╕рдорд░реНрдерд┐рдд DBMS рдкрд░ рдкрд░реАрдХреНрд╖рдг рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рд╕реЗ рджреВрд╕рд░реЛрдВ рд╕реЗ рдЕрд▓рдЧ рд╣реИред рджреЛ рд╕рдкреНрддрд╛рд╣ рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рдЦрд╛ рдПрдХ рдЕрд▓рдЧ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд┐рдд рдереА (рд╣рдордиреЗ
EX4 рдХреЛ рдЪреБрдирд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рдЧрддрд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ; рдкреНрд░рдпреЛрдЧреЛрдВ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╖реНрдЯрддрдо рд╣реИ - рдкреНрд░рддрд┐ рд╕рд░реНрд╡рд░ рддреАрди рдЬреЗрдирдХреАрдВрд╕ рдиреЛрдбреНрд╕)ред рд╡рд░реНрдЪреБрдЕрд▓ рд╕реНрдХреНрд░реАрди, рдкреЛрд░реНрдЯ рдФрд░ DBMS рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдиреЛрдб рд╕реНрдкреЗрд╕ рд╣реИред
рд▓реЛрдбрд┐рдВрдЧ рд╢реЗрдбреНрдпреВрд▓ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ: рдЬреЗрдирдХрд┐рдВрд╕ рдиреЗ рдмрд┐рд▓реНрдб рдкреНрд▓рдЧрдЗрди рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджрд┐рдпрд╛ , рдЬреЛ рдЖрдкрдХреЛ рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрдВрджрд░ рд╕рд┐рддрд╛рд░реЛрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рдирдХреА рд╕рднреА рдмреЗрдЯрд┐рдпрд╛рдВ рдмрд┐рдирд╛ рдЧрд┐рд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд╛рд╕ рд╣реЛ рдЧрдИрдВред рдпрд╣ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдпрд╛ рдПрдХ рд╣рдЬрд╛рд░ рдпреВрдирд┐рдЯ-рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддреАрди рд╕реМ рд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рдирд┐рдХрд▓рд╛ред рдЙрдирд╕реЗ рдкрд╣рд▓реЗ, рдХреБрдЫ рдмреЗрд╣реЛрд╢ рдкреАрдПрдо рдиреЗ рд░рд┐рд▓реАрдЬрд╝ рдХрд┐рдП рдереЗ, рдЧрд┐рд░рддреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдЕрдиреБрдирдп рдФрд░ рдзрдордХрд┐рдпреЛрдВ рдиреЗ рдорджрдж рдирд╣реАрдВ рдХреАред рд▓реЗрдХрд┐рди рдЬреИрд╕реЗ рд╣реА рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рд▓реНрдб рдореЗрдВ рддрд╛рд░реЗ рджрд┐рдЦрд╛рдИ рджрд┐рдП - рдкрд╣рд▓реЗ рд╕рд┐рдЧреНрдирд▓рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рд╣рд░ рджреЛ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдПрдХ рдмрд╛рд░ рджрд┐рди рдХрд╛ рд▓рд┐рдЯрдореЛрдЯрд┐рдл - рд╣рдо
рджреЛ рд╕рд┐рддрд╛рд░реЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреНрд╡рд╛рд░рд╛ рддреНрд░реБрдЯрд┐ рд╕реБрдзрд╛рд░ рдХреА рдЧрддрд┐ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдХреЛрдб рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдмрдврд╝ рдЧрдИрдВ - рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдЕрдм рдЕрдзрд┐рдХ рдорд╣рдВрдЧрд╛ рд╣реИред
рдкреАрдПрдо рд░рд┐рд▓реАрдЬ рдХреЗ рджрд┐рди рдЗрд╕ рддрд╕реНрд╡реАрд░ рдкрд░ рдзреНрдпрд╛рди рд▓рдЧрд╛ рд░рд╣реЗ рд╣реИрдВред рдкреНрд░рджрд░реНрд╢рди рдкреНрд▓рдЧрд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдзрд╛рдирд╕рднрд╛ - рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдирд╛, рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рджрд░реНрд╢рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдмрд╕реЗ рдЧрдВрднреАрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдЦреЛрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдкрд░рд┐рдгрд╛рдо рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ: рд╡рд┐рдХрд╛рд╕ рдореЗрдВ, рдПрдХ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреВрд░реНрдг рд▓реЛрдб рдкрд░реАрдХреНрд╖рдг рдХрд░рддреА рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИред
рдиреЛрдЯ: рдХреБрдЫ рдФрд░ рдЙрдкрдпреЛрдЧреА рдмрд╛рддреЗрдВ:
рдиреМрд╡рд╛рдВ рдЪрдХреНрд░, рд▓реЛрдЧ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВред
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд╕рдмрд╕реЗ рдХрдард┐рди рд╣рд┐рд╕реНрд╕рд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдорд╛рдорд▓рд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдЖрдзрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдореБрдЦреНрдп рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рдореИрдиреБрдЕрд▓ рдкрд░реАрдХреНрд╖рдХ рд╣реИрдВ, рд╣рдо рдЙрдирдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рдЦрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЕрдзрд┐рдХ рдХреЗ рд▓рд┐рдП рдкреВрдЫрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдиреНрдп рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рдо рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдо рджреЛрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЬреЗрдЖрдИрдЖрд░рдП рдореЗрдВ рд╣рд░ рдкреВрд░рд╛ рдХрд╛рд░реНрдп рдореЗрд░реЗ рдЯрдХрдЯрдХреА рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИ - рдХреНрдпрд╛ рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ? рд╣рдорд╛рд░реЗ рдкрд╛рд╕
рдПрдореНрдорд╛ рдкреНрд▓рдЧрд┐рди рдФрд░ рдХрд╡рд░реЗрдЬ рдЧрдгрдирд╛ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рд▓рд┐рдП рддреАрди рдмрд┐рд▓реНрдб рд╣реИрдВ - рдпреВрдЖрдИрдПрдирдЯреА рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рдпреВрдЖрдИ рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╕рд╛рд░рд╛рдВрд╢ рдХреЗ рд▓рд┐рдПред рдЗрди рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдмрд╛рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП, рдХрд╡рд░реЗрдЬ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдХреЛрдИ рдореВрд▓реНрдп рдирд╣реАрдВ рд╣реИ - рд╣рдорд╛рд░реЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреА рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рдРрд╕реА рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдХреЛрдб рдХреЗ рд╕рд╛рде рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╕рд░рд▓ рдХрд╡рд░реЗрдЬ рдЕрдиреБрд╕реВрдЪреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рдЧрд┐рдЯ рдореЗрдВ рдПрдХ рд╢рд╛рдЦрд╛ рдЦреЛрд▓реЛред рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдХреЛрдб рд▓рд┐рдЦреЗрдВред рд╢рд╛рдЦрд╛ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдВред рд╢рд╛рдЦрд╛ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдареАрдХ рдХрд░реЗрдВред рджреЛ рд╕реНрдЯрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде рд╡рд┐рд▓рдпред
рд╡рд┐рдХрд╛рд╕ рдХреА рдЧрддрд┐ рдХреЛ рдзреАрдорд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдиреЗ рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреА рддрддреНрдкрд░рддрд╛ рдХреЛ рдмрдврд╝рд╛рдпрд╛ рдФрд░ рдореЗрд░реЗ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рдордп рдмрдЪрд╛рдпрд╛:
рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдиреИрддрд┐рдХ рдЕрдзрд┐рдХрд╛рд░ рд╣реИ, рдЬрд┐рди рд╢рд╛рдЦрд╛рдУрдВ рдХреА рд╢рд╛рдЦрд╛рдУрдВ рдореЗрдВ рджреЛ рд╕рд┐рддрд╛рд░реЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛редрдЕрдЧрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЗ рдЙрд╕ рдХрдорд┐рдЯ рдХреЛ рдЕрдирд╣реБрдХ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдЯреЗрд╕реНрдЯ рдкрд╛рд╕ рд╣реЛ рдЧрдП рд╣реИрдВ, рддреЛ рдЙрд╕рдХреА рдХрдорд┐рдЯрдореЗрдВрдЯ рдореЗрдВ рдПрдХ рд╣реА рдкреНрд░реЙрдкрд░реНрдЯреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдХрдорд┐рдЯреНрд╕ рдХреЗ рд╡рд╛рдкрд╕ рдЖрдиреЗ рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдиреЗ рдореЗрдВ рдХрдорд┐рдЯреНрд╕ рдХреЗ рдирд┐рд╖реЗрдз рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдмрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдиреЗ рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрд▓ рд╕рдордп рдкрд░ рдПрдХ рд╕реАрдорд╛ рд▓рдЧрд╛ рджреА - 2 рдШрдВрдЯреЗред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд░рд╛рддреНрд░рд┐рдХрд╛рд▓реАрди рдкрд░реАрдХреНрд╖рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВ, рдмрд┐рд▓реНрдХреБрд▓ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдЕрдзрд┐рдХрддрдо 2 рдШрдВрдЯреЗ рдореЗрдВ рдЧреБрдЬрд░рддреЗ рд╣реИрдВред рдкрд┐рдЫрд▓реЗ рдЫрд╣ рдорд╣реАрдиреЛрдВ рдореЗрдВ, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рд╕рдореВрд╣ рдиреЗ рдЗрд╕ рдореЛрдб рдореЗрдВ рд▓рдЧрднрдЧ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ:
2 рдШрдВрдЯреЗ рддрдХ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦреЗрдВ - рд╕рд░реНрд╡рд░ рдЦрд░реАрджреЗрдВ рдФрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд░реЗрдВ - 2 рдШрдВрдЯреЗ рддрдХ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦреЗрдВ - рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рдХрд╛ рдЕрдиреБрдХреВрд▓рди - 2 рдШрдВрдЯреЗ рддрдХ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦреЗрдВ - рд╕рд░реНрд╡рд░ рдХреЛ рддреЗрдЬреА рд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП - рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦреЗрдВ ...рдЕрдВрддрднрд╛рд╖рдг
рдореИрдВрдиреЗ рдЬреЛ рднреА рдмрд╛рдд рдХреА рд╡рд╣ рдореЗрд░реА рдпреЛрдЧреНрдпрддрд╛ рдирд╣реАрдВ рд╣реИред рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рдореЗрдВ рдореЗрд░рд╛ рдпреЛрдЧрджрд╛рди рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдПрдХ рддрд┐рд╣рд╛рдИ рд╣реИред CI рдореЗрдВ - рдПрдХ рдЪреМрдерд╛рдИ рд╡рд┐рдиреНрдпрд╛рд╕ред рджреЛ рджрд░реНрдЬрди рд▓реЛрдЧреЛрдВ рдиреЗ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдФрд░ рдирд┐рд░рдВрддрд░ рдПрдХреАрдХрд░рдг рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ - рддрдХрдиреАрдХреА рд╕рд╣рд╛рдпрддрд╛ рдФрд░ рдкрд░реАрдХреНрд╖рдХреЛрдВ рд╕реЗ рд▓реЗрдХрд░ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдмрдВрдзрдХ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХреЛрдВ рддрдХред
рдореИрдВ рдЖрдкрд╕реЗ рди рдХреЗрд╡рд▓ рдкреНрд░рд╢реНрди рд╕реБрдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдмрд▓реНрдХрд┐ рдмреБрджреНрдзрд┐рдорд╛рди рд╕рд▓рд╛рд╣, рдЙрдкрдпреЛрдЧреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рд╢рд╛рдВрдд рд╡рд┐рдЪрд╛рд░ рднреА рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдмрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдореЗрд░реА рднреВрдорд┐рдХрд╛ рдХреЛ рдпрд╛рдж рд░рдЦреЗрдВ - рдореИрдВ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рднреА рдмрджрд▓ рд╕рдХрддрд╛ рд╣реВрдВ, CI рдореЗрдВ, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдХреБрдЫред рдореИрдВ рд▓реЛрдЧреЛрдВ рдХреЛ рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддрд╛
рдпрджрд┐ рдХреЛрдИ рдРрд╕рд╛ рд╡реНрдпрдХреНрддрд┐ рд╣реИ рдЬреЛ рди рдХреЗрд╡рд▓ рдореВрд▓реНрдпрд╡рд╛рди рдорд╛рд░реНрдЧрджрд░реНрд╢рди рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕реАрдЦреЗрдВ рдХрд┐ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ - рдпрд╛ рдореБрдЭреЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╕рд┐рдЦрд╛рдПрдВ - рдкреАрдПрдо рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд░реЗрдВ, рдореИрдВ рдПрдХ рд╕рд╣рдпреЛрдЧреА рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред