ãœãªã¥ãŒã·ã§ã³ã®ãã¹ãã®è²»çšã¯èª°ãè² æ
ããŸããïŒ ç¹ã«ã顧客ïŒå
éšãŸãã¯å€éšïŒãäŒèšã·ã¹ãã ã®éå§ãèŠæ±ããå¿
èŠãªã·ã¹ãã ãã©ãã»ã©æªããã瀺ããŠããªãå Žåã¯ã©ãã§ããããïŒ ãã®è³ªåã¯ãããããéçºã解決çã§ãèæŠãã®ååã«å€§ããªæ³¢ãåŒãèµ·ãããŸãã ãããã¯1Cã§æžãããŠãããã1Cã§æžãããŠããªã-ããã¯æ°žé ã®ãæŠããã§ãã誰ããã¹ãããã®ã奜ãã§ã¯ãªãã誰ããæ°ããèå³æ·±ãã¿ã¹ã¯ããã³ãŒãã£ã³ã°ãããã®ã奜ãã§ãã
ããããå°ãªããšãå°é¢ããéããããšããããã«ã¯ãæŠå¿µãšããŠã®ãã¹ããéçºããã»ã¹ãæãããšãç解ããå¿
èŠããããŸãã ãã®ãããéçºè
ããã¹ãããå¿
èŠããããŸãã ããããã§ããã ã䟿å©ã«ããã«ã¯ã©ãããã°ããã§ããïŒ
BDDãDDDãTDDãPDDãSDDãããã³ãã®ä»ã®DD
ãã¹ãã®åé¡ããŸãã¯ãœãªã¥ãŒã·ã§ã³ã®å質ã®åé¡ãèãããšãè³¢ããŠããŸã人ã
ã¯ã»ãšãã©æ§ãæã¡ãŸããã
ããã¹ãããå¿
èŠããããŸããããã¹ãããã®ã§ã¯ãªãéçºããå¿
èŠããããŸããããŸããããã«å¥ã®ççŸãè¿œå ãããŸã
ãå°æ¥ã®ãŠãŒã¶ãŒã®ãã¹ãŠã®å¯èœãªã¢ã¯ã·ã§ã³ãäºæž¬ããå¿
èŠããããŸãããå°æ¥ã®ãŠãŒã¶ãŒã®ãã¹ãŠã®ã¢ã¯ã·ã§ã³ãäºæž¬ããããšã¯ã§ããŸããã
èšèšãšéçºã«èšå€§ãªæ°ã®ã¢ãããŒããè¿œå ãããšããã¹ãŠãæªåããŸãã ããšãã°ãåé¡ã®æ¬è³ªã説æããå¿
èŠãããå Žåãã©ã®ããã«åé¡ããã°ããã§ããã
ãã¡ã€ã³DD-顧客ã®ç®æšãå°æ¥ã®ã·ã¹ãã ã®åºæ¬çãªãšã³ãã£ãã£ãšããŠå®åŒåãããå Žåã®éçºæ¹æ³ïŒ
ãååãåšåº«ãååŽããã³è»¢èšã®è¡çºãå¿
èŠãã¬ããŒãDD-ããŒã¿åæãå«ãæçµã¬ããŒãã®åœ¢åŒã§é¡§å®¢ã®ç®æšãçå®ãããšãã®éçºæ¹æ³ïŒ
ãæçèšç®æžãå¿
èŠã§ãããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹DDã¯ã顧客ã®ç®æšãæçµçãªãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãšããŠå®åŒåãããå Žåã®éçºæ¹æ³
ã§ã ã
ããã¹ãçºè¡ããããã«ããã¹ã®åŸæ¥å¡çšã«ãã®ãã©ãŒã
ãå¿
èŠã§ããããã€ãã¢DDã¯ã顧客ã®ç®æšãã·ã¹ãã ã§æåŸ
ãããæçµããã»ã¹ãŸãã¯çžäºæ¥ç¶ãããããã»ã¹ã®ã°ã«ãŒããšããŠå®åŒåãããå Žåã®éçºæ¹æ³ã§ãã
ãã¢ã¹ã¯ã¯ããã®è»ã®çºéãèšé²ããå Žåã泚æã¹ããŒã¿ã¹ãå€æŽããçºéæéãä¿®æ£ããéæ¥è²»ãèæ
®ããå¿
èŠããããŸã泚æã®è²»çšã§èŒžéããããã«âãããšã¯å¥ã«ãéåžžã¯ã©ãã«ã説æãããŠããªã3ã€ã®ã¢ãããŒãã匷調ãã䟡å€ããããŸãã
ãµãã¿ãŒãžã¥DDã¯ã顧客ã®ç®æšãçç£ã·ã¹ãã ã§ã®çŽæ¥çãªéçºãå¿
èŠãšããæéã®ççž®ãšããŠå®åŒåãããå Žåã®éçºæ¹æ³ã§ãã
ãããŒã«=ã«ã¢ããŒã«=å°éå
·ããã©ãŒã ã«ç·æ¥ã«è¿œå ããŸãã
ã 顧客ãéçºããŒã ã§å¶åŸ¡ãããã«ãªã¹ãæ§ç¯ããããšãããšãã«äœ¿çšãããŸã-æ¿æ²»çãªç®çã§äœ¿çšãããŸãã
Moratorium DDã¯ã顧客ã®ç®æšãæ©èœã®ç«ã¡äžãã§ã¯ãªããäŒæ¥ã«ãã£ãŠæ¿èªãããèŠå¶ãåºæºã«æºæ ããå Žåã®éçºæ¹æ³ã§ãã
ãã·ã¹ãã ã®å€æŽã¯<Accordance Sheet>ãšäžè²«ããŠããå¿
èŠããããŸããèšèšãéçºããããã¿ã€ãäœæäœæ¥ã¯ããããžã§ã¯ãã®æ瀺ãšå®è¡å¯èœæ§èª¿æ» ã
ã顧客ã®ç®æšãæ©èœã®ãªãªãŒã¹ã®ã¿ã€ã ã©ã€ã³ãççž®ããããšãªããœãªã¥ãŒã·ã§ã³ã®å質ãåäžãããããšã§ããå Žåã
Pain DDã¯éæž¡çãªéçºæ¹æ³ã§ãïŒ
ã¡ãªã¿ã«ãä»å¹Žã¯çµŠäžèšç®åºéãåæžãããŸãã-å°çšã®ãã¹ã¿ãŒã¯ååŸã§ããŸãããããããŠãããã¯ããããŒãªã³ã°ãã§ã¯ãããŸãããããã®æåŸã®3ã€ã®ã¢ãããŒãããåè«ãã®é åºã§åŒ·èª¿è¡šç€ºããã説æãããŠããããã«æããå Žåãããã§ã¯ãªãããšãããã«èšããŸãïŒå Žåã«ãã£ãŠã¯ããã®ãããªã¢ãããŒãã¯ITéšéã«ã§ã¯ãªããããçšåºŠã®å¹çããããããŸãã ITã¹ãã·ã£ãªã¹ãã¯ãããã§ã¯ãã»ãšãã©ã®å Žåæè
ãã§ãã
åé¡ã¯ç¢ºãã«äžåšçšã§éåžžã«çŸå®çãªãã®ã§ããããã®äž»é¡ã«é¢ããã¹ããŒãããã¯ãèªãããã®å°é家ãæºåããã«ã¯ååã§ãã
FeatureDD ïŒé¡§å®¢ã®ç®æšãå°ããªè»œéæ©èœãšããŠå®åŒåãããå Žåã®éçºïŒãããã³
ModelDD ïŒé¡§å®¢ã®ç®æšããã£ãŒã«ããæã€æçµããŒãã«ãšããŠå®åŒåãããå Žåã®éçºïŒããããŸãããç§ã¯é垞以äžã®çç±ã§ãããã䜿çšããŸããïŒ
- 1Cã®äžçã§ã¯ãå€ãã®å Žåã顧客ã¯æåŸ
ãããåäœãè¡åããããã«å®åŒåããŸãã ãè¡åãã¯åžžã«è€éã§ãããããã·ããªãªãå解/åé¡ãããšãã«æ©èœãèªåçã«çºçããŸãã
- 1Cã®äžçã§ã¯ããã¹ãŠã®ãã¡ã€ã³/ã¢ãã«ã¯åžžã«è€éïŒãŸãã¯ãããè€éãªæ©èœïŒã§ããã3ã€ä»¥äžã®äŸåãšã³ãã£ãã£ãš3ã€ä»¥äžã®æ©èœé¢ä¿ããããŸãã ãããŠãæ£ããã¢ãã«ã¯ãè€éãªãã¡ã€ã³ã®å解ã®äžéšãšããŠãããèªäœã§ãã§ã«çºçããŠããŸã-ããã§ãªããã°ãæ£ãããã¡ã€ã³äŸåé¢ä¿ã°ã©ããäœæã§ããŸããã v8.1c.ru/modelãããèŠãããšããå§ãããŸããã·ã¹ãã ã¯ãDDDãšMDDãçµã¿åããããã®ã§ãããChangeManagementSystemãå°ãå€æŽããã ãã§ãã
çªç¶ããããã®ç¥èªãäœã§ããããç¥ããªã人ïŒ
DD-é§ååéçº ïŒãã¹ã«ãŒããŸãã¯ãç®æšããã®éçºãïŒã¯ããœãããŠã§ã¢ãšã³ãžãã¢ãªã³ã°ã®éçºããã»ã¹ãæŽçããæ¹æ³ã®1ã€ã§ãã en.wikipedia.org/wiki/Software_development_processã«åå¥ã®æ¹æ³è«ãšããŠå«ãŸããŠããŸãã
eDSLã®BDDéçºè
ç°å¢
eDSLã®äžçã«ç²ŸéããŠãã人ããããŠåã®èšäºããç解ããããã«ãHabrã«ã¯å€ãã®äººãããŸãã ç解ããŠããªã人ã®ããã«ãç§ã¯èšããŸãïŒ1Cã®äžçã§ã¯ã顧客ã¯æçµçãªããžãã¹ãã³ã§ã¯ãªããäŒæ¥ã®ãã¹ãŠã®ãŠãŒã¶ãŒã§ãããšããäºå®ã«ãããŸããäºå®ãã©ã®ã¢ãããŒããé©çšããŸãã 誰ããå ±åãæã¿ã誰ããè¡åãèµ·ããã誰ããäžè¬çã«å¥åŠã§ãã ãããã£ãŠãéåžžã®1Cã¹ãã·ã£ãªã¹ãã®ã³ãã¥ããã£ã§ã¯ã
xDrivenDevelopmentãšããå®åŒåã䜿çšããŸããããã§ã
xã¯ã顧客ã®ç®æšã«å¿ããä»»æã®ã¢ãããŒãã§ãã èè
ã¯ã³ãã¥ããã£ã¡ã³ããŒã®1ã€ã«å±ããæåã¯
yDrivenDevelomentã®ããã«
èãããŸãã ãããã§ã
yã¯éçºè
ãå®è¡ããç¹å®ã®ç®çé¢æ°ã§ãã
ãããããã¹ãã«æ»ããŸãã ãããã£ãŠãå
¥åã«ã¯æ¬¡ã®ããŒã¿ããããŸãã
- ãã¹ãããå¿
èŠããããŸãïŒãããŠã©ããžè¡ããïŒ
- éçºãå¿
èŠã§ãïŒeDSLãã©ãããã©ãŒã ã¯ãã®ããã®ãã®ã§ãïŒ
- éçºããã»ã¹ãžã®ã¢ãããŒãã¯ç°ãªãå ŽåããããŸãïŒãããŠãããã«ã€ããŠè¡ãããšã¯äœããããŸããïŒã
- ãã¹ãŠã®ãã¹ããæžãããšã¯ã§ããŸããïŒãŸãããŸãã¯æžãããŠããŸãããã·ã¹ãã ã®å¯¿åœã®10幎åŸïŒ
- ã·ã¹ãã ã®èŠä»¶ã¯ããªãæ··oticãšããŠãããããèŠä»¶ãèšå®ããæ¹æ³ãç°ãªããŸãã
1Cãã©ãããã©ãŒã ã§ã®æ¯ãèããéããŠéçºããèœåãäœæããããšããŠããŸããä»äºã«ã¯ã次ã®ãã®ãå¿
èŠã§ãããŸããåäœã«ãã1Cãœãªã¥ãŒã·ã§ã³ã®ãã¹ããžã®ã¢ãããŒããåæ ããæŠå¿µïŒ
è¿œå ã®ãµãã¢ãžã¥ãŒã«ãšããŠäœ¿çšããŸã
ãã®å Žæã«ãã©ãçãã1Cã®å°é家ã®äžã«ã¯ããåºãéãããç®ããäœããããããèšäºãéãã人ãããŸãã æ®ãã«ã€ããŠã¯ã次ã®ç¹ã«æ³šæããŸãã
msgitãã€ã³ã¹ããŒã«ãããšãã$ PATHã ãã§ãªãããã¹ãŠã®ãŠãŒãã£ãªãã£ïŒå®éã®1Cããã¯ããŒã ã¯* nix world-touchãmvãrmãgrepãªã©ã®ã³ã³ãœãŒã«ãŠãŒãã£ãªãã£ã«æ
£ããå¿
èŠãããïŒã§ã€ã³ã¹ããŒã«ãããããã«ããããšæããŸãã .dãïŒ
ã«ã㌠ããã¥ãŠãªããã€ã³ã¹ããŒã«ããå¿
èŠããããŸã
python -gitããã¯ã䜿çšããŠããŸããïŒãœãŒã¹ãã¡ã€ã«ãååŸããã«ã¯ããã€ããª1Cãã¡ã€ã«ããªããžããªã«é
眮ããã€ã³ã¿ãŒã»ããã䜿çšããŸããçµå±ããœãŒã¹ã³ãŒããªããžããªã¯ãœãŒã¹ã³ãŒããªããžããªã«ååšããå¿
èŠããããŸãïŒã
çè«ããå®åãžã®æ¥æ¿ãªç§»è¡ããçŸåšèŠããã§ãã人ã
ã®ããã«ãç§ã¯æ¡ä»¶ã«æ¥ãŠãèªã¿ç¶ããããšãææ¡ããŸãïŒ
æåã«ç解ããŠããã¹ãããšã¯ããã¹ããã³ãŒãã§ãã ãŸããã³ãŒãã«ã€ããŠã¯ãã³ãŒããªããžããªãäœæããã ãã§ãã ãããã£ãŠïŒ
$ mkdir EnterpriseAccounting $ cd EnterpriseAccounting $ git init./ $ mkdir features $ mkdir tests $ mkdir src $ touch README.md
æ®ã£ãŠããã®ã¯ãgitãµãŒããŒã®ã©ãã«ãã¹ããä¿åããããææ¡ããããšã§ã
$ git set origin https://dev.example.com/foobar/EnterpriseAccounting $ git push
誰ãšè§Šãåãããããã®ããŒã ã¯äœã§ããmsgitãæ£ããã€ã³ã¹ããŒã«ããå Žåã¯ããã®ã³ãã³ããæ¢ã«ãããŸãããã«ãã¯
touch --helpã§ç¢ºèªã§ã
ãŸããä»ã®ãã¹ãŠã¯ããœãŒã¹ã³ãŒããæäœããéã®å
žåçãªã³ãã³ãã§ãã
- ããŒã«ã«ãã£ã¬ã¯ããªãäœæãã
- å
éšã®ãªããžããªãåæåãã
- ãã£ã¬ã¯ããªæ§é ãäœæãã
- ããŒã ã®å°æ¥ã®ããã¥ã¡ã³ãã«é¢ããããã¯ãã°ãäœæãã
- äžå€®ãµãŒããŒãæå®ãã
- ã»ã³ã¿ãŒã«éä¿¡ïŒããŒã ãšå
±æïŒ
æçµã¿ã¹ã¯ã®ãã¹ããããã¯é¢æ°ã¢ã«ãŽãªãºã ã®ãã¹ãã§ã¯ãããŸãã
åé¡ã«çŽæ¥é²ã¿ãŸãã ç¹°ãè¿ããŸããã1Cèªåãã¹ãã®éçºãéå§ãããšãã®äž»ãªåé¡ã¯ãããžãã¹ã®æçµçãªæ©èœãããã¹ãããæ¹æ³ããç解ã§ããªãããšã§ãã ãããããæåãªxUnitãããžã§ã¯ãã®ååã¯ãéªæªãªããªãã¯ããæãããŠããŸããããã¯ãå€ãã®æµè¡èªãèªã
en.wikipedia.org/wiki/XUnitãæããŸãããããžãã¹ã¿ã¹ã¯ã®æçµãã¹ãããã¯ããé¢ããŠããŸãã
ãããŠãããã§ãèªåãã¹ããæ
åœããåå¿è
éçºè
ããã¹ãã¬ãªã¿ã€ããç Žããããã«ãªããŸããäºå®ã1C Configuratorã䜿çšãããšãæ©èœã«ã€ããŠèããå¿
èŠã¯ãªããããªããã誰ããæ©èœãå¿
èŠãšããã«ãå¿
èŠãªæåŸ
ãããåäœãããã«å®çŸã§ããŸãã åœåããã¹ãŠã®ããžãã¹é¡§å®¢ãšeDSLèšèªã®å°é家ã¯ãå¯èœãªéããç¶æ³ã«å¿ããŠããããšèããããŠããŸãã 1ã€ã®åäœã«ã€ããŠã¯ããããæ¬åœã§ããå¯èœæ§ãæãé«ããªããŸãããäžé£ã®äºæ³ãããåäœããã³è€éãªã·ããªãªã®å Žåãè³ã¯ã¿ã¹ã¯ã®ã·ããªãªå
šäœãã³ã³ããã¹ãã«ä¿æã§ããŸããã ãã®çŽåŸã«ãäºæ³ãããåäœãã³ãŒããšããŠæ±ãå§ããŸãã
éçºè
åãã®éåžžã®ãµã³ãã«ããã»ã¹
ïŒã¿ã¹ã¯ã¢ã«ãŠã³ãã£ã³ã°ã·ã¹ãã å
ã®ïŒé¡§å®¢ããã®ã¿ã¹ã¯ã¯æ¬¡ã®ããã«èãããŸã
ãã¯ã©ã€ã¢ã³ããç§ãã¡ã«åºè·ããéé¡ä»¥äžãæ¯æã£ãå ŽåãåæããšããŠãéãèæ
®ããå¿
èŠããããŸããã
ããã§ã¯ãå®éã«ã©ã®ããã«èŠããããèŠãŠã1Cã§BDDã«å¿
èŠãªãã®ãæšå®ããŸãããã
- Gherkinèšèªã®ããŒãµãŒã2ã€ã®æ©èœãå®è¡ããŸãããã¹ãã®æé ãçæããã®ãæ¯æŽããããã§ããå®éãåŸã§æ¢è£œã®ãã¹ããå®è¡ãããã®ééã«é¢ããã¬ããŒããçæããŸãã ãããã®ç®çã®ããã«ãæã
ã¯ãã¥ãŠãª ïŒåãããã¥ãŠãªãïŒã䜿çšããŸã
- Cucumberããæ¢è£œã®ãã¹ãåïŒãã©ã¡ãŒã¿ãŒãšäžç·ã«ïŒãåãåã£ãŠã1Cå€éšåŠç圢åŒã§æ¢è£œã®åŠçãã¡ã€ã«ãäœæããããŒã«ããããšäŸ¿å©ã§ãïŒèªååã§ãããã®ã¯ãã¹ãŠèªååããå¿
èŠããããŸãïŒã æè¡çã«ã¯ãããã¯1Scriptã§èšè¿°ãããã¹ã¯ãªããã§ãã ã¯ã€ã€ãŒãããã³ã«ãã¥ãŠãªã1Scriptãœã±ãããããã³1Cã䜿çšããOLEæ¥ç¶ãä»ããŠãCucumberãš1Cãçžäºã«æ¥ç¶ã§ããŸã ã ã€ãŸã å
¥ãå£ã§æ©èœãã¡ã€ã«ãååŸããŸã-åºåã§ã¯ãéçºè
ã«æäŸã§ãã1C察å¿ã®åŠçãè¡ããŸãã ãããŠãããããã¹ãŠãã¯ã³ã¯ãªãã¯ã§ã
- ç§ãã¡ãåããæ²»çã¯ç§ãã¡ã®ãã¹ãã§ãã ããã¯ã³ãŒãã§ãããã³ãŒãã¯ä¿åããã³ããŒãžã§ã³ç®¡çããå¿
èŠããããŸãã ãã®ããã«ãGitãé
眮ããŸãã
- éçºè
ããããã®ãã¹ããã³ãŒãã§åããåŸããããããœãŒã¹ã«å解ããå¿
èŠããããŸãïŒãããŠãã©ã®ããã«ããªããžããªã«ãã€ããªãã¡ã€ã«ã®ã¿ãä¿åããªãã®ãïŒã ãã®ç®çã®ããã«ã xDrivenDevelopmentã³ãã¥ããã£ããPrecommit1cãååŸããŸãã ããã§ãå®æãããã¡ã€ã«ãGitã«é
眮ãããšã解æãå解ãéã³ã³ãã€ã«ãæªåé¡ã«ãªããŸãïŒå¿
èŠãªãã¡ã€ã«ãéžæããŸãïŒã ãããŠãããèªäœã§ãã¯ã³ã¯ãªãã¯ã§èªåçã«ç解ã§ããŸãã
次ã®ã¹ãããã¯ããè¡åã«ããéçºãã®ããªãéèŠã§éåžžã«çŸ©åçãªã¹ãããã§ããè¡åã®äºæ³ã·ããªãªïŒãŸãã¯ç§ãã¡ã®åæããŸãã¯æèœãªé¡§å®¢ïŒãäœæããŸãã å®éãã¬ãŒãã³ããããŠããã䜿çšããŸãããå°æ¥ã®ãã¹ãã·ããªãªã®ã°ã«ãŒããèšè¿°ããDSLèšèªããããšããäºå®ã«ãã£ãŠãããã§ç§ãã¡ãæããŸãã ããªãã¯ãããããç§ãå°æ¥ã®ãã¹ãã«ã€ããŠäœãèšã£ããçåã«æã£ãã§ããããïŒ ãã ãã調æŽããå¿
èŠããããŸã-BusinessReadableDSLã䜿çšããŠã·ããªãªã説æããåŸãå®éã«ãã¹ãããå¿
èŠããããã®ãšå®è£
ããå¿
èŠããããã®ãç解ããŸãïŒãã®ãããã¯ã«é¢ããMartin Fowlerã®èšäºãåç
§ããŠãã ããïŒã
ãã®ãããåé¡ã®å
ã®ã¹ããŒãã¡ã³ãã次ã®å
容ã«åºã¥ããŠèšè¿°ãããã£ãŒãã£ãŒãã¡ã€ã«ããããŸãã
$ touch ./feature/account_loan.feature $ notepad++ ./feature/account_loan.feature
: , , : ' 3.0 ()' ' ' ' 1' 02.01.2014 ' 2' 03.01.2014 : ' ' 2 2 ' ' 1000 300 ' ' 1100 '62.01' ' 1' 1000 '62.01' ' 2' 100 '62.01' ' 2' 200
ãã®ãããªæ©èœãã¡ã€ã«ã®äœææ¹æ³ç§ã¯ã¬ãŒãã³ããã®å
žåçãªäžé£ã®è³ªåã«åã«çãã次ã®ãªã¹ãã§ããå°ã詳现ãªæ
å ±ã顧客ã«å°ããŸããã
- ã©ããªæ©èœ
- ãªããšãã圹å²
- ç®çã¯äœã§ãã
- ã©ã®ãããªè¡åã·ããªãªãæåŸ
ããŠããŸãã
- ãã®æ©èœã¯ã©ã®ãããªã³ã³ããã¹ãã§å¿
èŠã§ãã
ãGenerateEpfããã©ã¡ãŒã¿ãŒãæå®ããŠvanessa-behavior.osãå®è¡ãããã¹ãçšã®å®æããåŠçãã¡ã€ã«ãååŸããŸãã
$ oscript.exe vanessa-behavior.os --GenerateEpf --ProjectPath="< Feature >" --1cConnectString="File=<1>"
ãããŠãããããã¹ãŠã§ãã£ããã®ãååŸããŸã-åäœã«åºã¥ããŠåŠçããã¹ããã
ãã®åŸãçµã¿èŸŒã¿ã®1Cèšèªã®ã³ãŒããå
¥åããŸã
ã芧ã®ãšããã次ã®ããšãèµ·ãããŸããã
æ©èœãã¡ã€ã«ã®åè¡ã«æé ãäœæãããŸããã
ããšãã°ãæåå
' 3.0 ()'
ã«ãªã£ã
(01)
ãããã®ããã·ãŒãžã£ãŒãåŒã³åºãããã®ãã©ã¡ãŒã¿ãŒïŒçªå·ãè¡ãæ¥ä»ïŒãå®çŸ©ãããããããã¹ãããããå®çŸ©ãããŸããã次ã«äŸã瀺ããŸãã
ããã§äœãã§ãããèŠãŠã¿ãŸãããã
æåã«ç®ãåŒãã®ã¯ããã©ã¡ãŒã¿ãŒå
Param01StrokaãããŸãæ確ã§
ã¯ãªãããšã§ãã ãŸãããããåããååãå€æŽããŠãã ãããäŸãã°ã
Configuration Name㧠ã ã¯ããããã·ãŒãžã£ã®ååã¯
There is a Configurationã«çœ®ãæããã
ãŸã ã
ããã¯å€æããŸãïŒ
()
ãã ããåã
æ©èœãã¡ã€ã«ã䜿çšããŠ1CåŠçãå床çæããããšãããšãããã°ã©ã ã¯å€ãååã®ããã·ãŒãžã£ãèŠã€ããããšãã§ããããã¹ãŠã
æ©èœããªããªãããšããããŸãã ããããããã§ã¹ãããããç§ãã¡ã®å©ãã«ãªããŸã
//@(01)
ã©ã®ã¡ãœãããåŒã³åºãããåžžã«æ±ºå®ã§ããŸãïŒãã ããåŠçãœãŒã¹ã解æããã¹ãããããšããã·ãŒãžã£ã®å®éã®ååã®ããŒãã«ãäœæããå¿
èŠããããŸããããã®ãããªäºçŽ°ãªããšã¯ç§ãã¡ãæããããŸããïŒã
ããªããæ°ã¥ãããšãã§ãã2çªç®ã®ãã®ã¯ãæ©èœãã¡ã€ã«ã«2ã€ã®åæ§ã®è¡ããã£ãããšã§ãïŒ
' 1' 02.01.2014 ' 2' 03.01.2014
ãã ãããããã®ã¡ãœããã¯1ã€ã ãäœæãããŸããã
(01,02)
ã¹ããããã¯äž¡æ¹ã®è¡ã§åãã«ãªããããããã¯é©ãããšã§ã¯ãããŸããã ãããã£ãŠãããã§ã³ãŒãã®åå©çšãè¡ãããŠããããã«èŠãããããããŸããã Iiiiiiiii ...ã¯ãïŒ ããã ïŒ ãã®æ©èœãã¡ã€ã«ïŒãŸãã¯ä»ã®ãããžã§ã¯ãïŒã®ã©ããã«æ¬¡ã®ããã«èšè¿°ããŸãã
'- ' '- '
ãã®ãã¹ãã³ãŒãã¯ã
ExistingAccount withAccount Dateã¡ãœããã«æ¢ã«å®è£
ãããŠããããšãããããŸãã
ããã«ããã®ã¡ãœããã¯ç§ãã¡ã®åã«ä»ã®èª°ãã«ãã£ãŠå®è£
ãããããšãå€æãããããããŸããã ãããŠããããåå©çšããã ãã§ãã ãããŠãããã¯èªç¶ã«èµ·ãããŸãã ããã¯ããã°ã©ããŒã®å€¢ã§ã¯ãããŸãããïŒ é¡§å®¢ã¯èªåãæããã®ãæžããŸãïŒãããç§ãã¡ã®æ©èœãã¡ã€ã«ã§ãïŒ-ãããŠãã³ãŒãã®ååã¯æ¢ã«å®è£
ããããã¹ããããŠããŸãïŒã€ãŸãããã¹ãã§ã«ããŒãããŠããŸãïŒããã®å Žã§ããã¯ã¢ãããããŸãïŒ
å人ãBDDãžããããïŒ
ãããµããªãŒãèŠçŽããŸãã
- 顧客ãæããã®ããããŸããããã¯ã¬ãŒãã³ã®å®£èšèšèªã§èšè¿°ãããŠããŸãã
- ãžã§ãã¬ãŒã¿ãŒãèµ·åããŸã-ã³ãŒããå
¥åããå¿
èŠãããæ¢è£œã®ãã¹ããã¡ã€ã«ãååŸããŸãã
- ãã¹ããèšè¿°ããŸãïŒãŸãã¯ãæ°ããæ©èœãéããŠãŠãŒã¶ãŒã¢ã¯ã·ã§ã³ã®èšé²ãçæããŸãïŒãšåæã«ã顧客ãåãåãããæ©èœãèšè¿°/æ§æããŸãã
- vanessa-behavior.osãèµ·åããŸãããã¹ãã¯ãã客æ§ã®ãã¹ãŠã®åãæ©èœã䜿çšããŠå®è¡ãããŠããŸãã
- jsonãŸãã¯htmlãªã©ã®ãã¹ãã«åæ Œããããšã«é¢ããã¬ããŒããååŸããŸãïŒ Allureãããžã§ã¯ããå¿ããªãã§ãã ãã ïŒ
ããèšäºã§ã¯ãBDDã®ãããªå€§ããªãããã¯ãšãããã1Cã®äžçã«é©å¿ãããæ¹æ³ãã«ããŒããã®ã¯å°é£ã§ãã ãã®ãããã¯ã«å®å
šã«çŠç¹ãåœãŠãå¥ã®èšäºãããããšãé¡ã£ãŠããŸããããã§ã«ãã詳现ãªäŸããããŸãã
æ©èœã€ã³ãã³ããªãšæè¡çè² åµ
éåžžãæåã®èšäºã§è¿°ã¹ãããã«ããã®è³æãç 究ãã人ã
ã¯ããã¹ããéããŠæžãå§ããããšãæåŠããŸãã
ããã¯ã次ã®2ã€ã®çç±ã§çºçããŸãã
- ãã©ã®ããã«ãã¹ãããããç解ããŠåããŠäœæ¥ã«äœæ¥ãåãå
¥ããããšããã«ãŒã«ã®å°å
¥åŸãäž»èŠãªæéè²»çšã¯ãè«è² æ¥è
ãåœåæ³ãäŒèšæ¹éãªã©ã®ãã©ã€ããªããã³ãã¹ã¿ãŒããŒã¿ã®ãã¹ãã®æ§ç¯ã«è²»ãããå§ããŸãã åæã«ããã¹ãããŒã¿ãçæããå¿
èŠããããŸããããã¯ãèªååããããã¹ãã®åºç€ãã¯ãªãŒã³ã§ããã¹ãã ãšããããšãå
šå¡ã«æããã«ãªãããã§ãã 誰ãããããè¡ãæºåãã§ããŠããããã§ã¯ãããŸãããXïŒBDDãžã®ç§»è¡ïŒãŸã§ã®ãç§ãã¡ãæºãããããã¹ãŠãé¡åçã«èŠãªããã°ãªããªãããã§ãã ãã®åé¡ã¯ããããããæè¡ã¹ããªã³ããæ¹æ³-顧客ãšèª¿æŽããæ¹æ³ïŒãŸãã¯èª¿æŽããªãæ¹æ³ïŒ-ããã¯ã¢ãžã£ã€ã«ãšã¯å¥ã®æã§ãã
- é£ãã...çµå±ã®ãšãããBDD | xDDã¯ãšã³ãžãã¢ãªã³ã°ãã©ã¯ãã£ã¹ã«ç±æ¥ãããããããŒã ã®éçºè
ã®é«ãã¬ãã«ã®è²¬ä»»ãå¿
èŠã§ãã ãã®6幎ãç¡è²¬ä»»ã§ããåã«è²¬ä»»ãè² ãããšã¯åžžã«å°é£ã§ãã ãã®åé¡ã¯ã2ã€ã®æ¹æ³ã§è§£æ±ºãããŸã-ãããã瀟äŒçå§åã®æ¹æ³è«ãšãªãªãŒã¹ç®¡çãã©ã¯ãã£ã¹ã®å°å
¥ã ã€ãŸããããã¹ããªãã§fu fu fuãèšè¿°ãããå Žåãããã³å®åçšã®ãã¹ããªãã®ãªãªãŒã¹ããäœæ¥ã·ã¹ãã ãæ
åœãããšã³ãžãã¢ã«ãã£ãŠèš±å¯ãããŠããªãå Žåã§ãã ããªãããå€è
ã®ã·ãŽã¡ãã§ãããªããå
éšã®ITå®ç§äž»çŸ©ã ããããªããæãã§ãããã
- äžè¬ã«ããäºæ³ãããåäœã«ããéçºãã«åãæ¿ãããšãããŒã ã®ã³ã¹ããäžæçã«å¢å ããŸãã çŸåšã次ã®æ°åããããŸããéåžžã®1Cããã°ã©ããŒã®ã¬ãã«ã®5人ã®ããŒã ã§ãéçºé床ã®åäžãšãšã©ãŒæ°ã®æžå°ïŒå質æ¹åïŒã1ãæ以å
ã«éå§ãããŸãã ãããã£ãŠã1ãæ以å
ã«ããŒã å
šäœãæ°žç¶çãªã¹ãã¬ã¹ã«èãã;-)ã«èããªããã°ãªããŸããã ãããŒãžã£ãŒã«ãšã£ãŠããæ©èœãã¡ã€ã«ã®åœ¢åŒã§èŠä»¶åéãã§ãŒãºãåå¥ã«èµ·åããŠããã¹ããã§ãŒãºãéå§ããã ãã§ãå€ãæ¹æ³ã®éçºãäžæã§ããªãããšã«æ³šæããå¿
èŠããããŸãïŒããã¯æŠå¿µèªäœãšççŸããŸãããããã¯ç§»è¡æéã«ã¯åãå
¥ããããŸãïŒã
å°ãã®æŽå²ããŸã£ããç¥èããªã人ã®ããã«ãããšã¯å¥ã«ããã¹ãŠãã©ã®ããã«å§ãŸããã©ã®ããã«çºå±ããããèšã䟡å€ããããŸãã
xDDã³ã³ã»ããã®æ€èšŒã¯ïŒ2004幎ããæ£ç¢ºã«TDDã§ïŒå§ãŸãã2004幎ãš1C 7.7ãã©ãããã©ãŒã ã§å§ãŸããŸããã ããã®ãªãŒããŒã¯ããããžã§ã¯ã
www.1cpp.ruã®ãã¬ãŒã ã¯ãŒã¯ã«å«ãŸãã
ã¢ã¹ã¯ã¯ã®ãã¹ãåŠæ ¡ãšã
www.kint.ruã®ãã¹ãã®ããã®
ã€ãžã§ãã¹ã¯åŠæ ¡ã§ãããšèããããŠã
ãŸããããŒãžã§ã³1C 8ã®ãªãªãŒã¹ã§ã¯ããã§ã«ç¢ºç«ãããããã»ã¹ãæŸæ£ãã人ã¯ããŸããã§ããããéãããããã©ãããã©ãŒã ã«ãããçŽæ¥çãªæ¹æ³ã§çšŒåæéãçŽæ¥è»¢éããããšãã§ããŸããã§ããã ããã»ã¹ã¯å°ãåæ¢ããŸããã
ããããããã§ã¯Yandexãšãã¹ãéšéã®é·ãå
šå¡ãæã£ã ;-)ïŒã¯ããã¯ã-Yandexã«ã1CããããŸããã
ãã®çµæãæåã®ãã©ããã®infostart.ru/public/15492
ã¯éåžžã«æ©èœãããããè€æ°ã®éçºãçµã¿åãããããšã1Cãã©ãããã©ãŒã ã§ãœãªã¥ãŒã·ã§ã³ã®å質ãéçºããéçºè
åãã«ãããžã§ã¯ã
github.com/xDrivenDevelopment/xUnitFor1CãçãŸããŸããã ãã®è£œåã®ãªãŒããŒã¯ã
å¿ãåãããã人ã
ã®ããŒã ãæã€ã¢ãŒãµãŒã»ã¢ãŠã«ããã§ãã
ãããã1Cãœãªã¥ãŒã·ã§ã³ããã¹ãããããã®ã€ãžã§ãã¹ã¯åŠæ ¡ãæãåºããããããŸããã çŸæç¹ã§ã¯ãããã®äž»ãªããã³ããã³ã¯
ã€ãžã§ãã¹ã¯ã®ã·ã¹ãã ãã¹ãã§ããããã®ããŒã ã¯ãã¹ãåçåã¹ããŒã ãæ§ç¯ãããã§ã«åçšè£œåã®ã©ã€ã³ãéçºããŠããŸãã
vanessa-behaviorãããžã§ã¯ãã¯ãxDDã³ã³ã»ããã®éçºã®ç¶ç¶ã§ãããç°ãªãã¢ãããŒãã䜿çšããŠããŸã-çŸåšã¯ãã¹ãããã§ã¯ãªããåäœã®èŠä»¶ããã§ãã
ãããã質åQïŒè©ŠããŸããããæåããŸããã§ããã ã©ããã£ãŠäœ¿ãã®ïŒAïŒãããžã§ã¯ãã¯
1Scriptã®ææ°ïŒéçºïŒããŒãžã§ã³ã§
åäœããŠããã
1.0.9ãªãªãŒã¹ã®ãªãªãŒã¹ãåŸ
ã£ãŠããŸãããŸããçŸåšã®ã¿ã¹ã¯ã«åãããŠäœç³»çã«æŽæ°ãããŸãã ãããã£ãŠãå¿é
ããªãã§ãã ãã-ãã¹ãŠããªããŸãã
QïŒãã®äž»é¡ã«ã€ããŠäœãèªãã¹ãã§ããïŒAïŒå€ãã®è³æ
ããããŸãããïŒ
QïŒã¬ãŒãã³ãããã«ããã®ã¯ãªãã§ããAïŒèŠä»¶ãèšè¿°ãããã
ã® Gherkin DSLèšèªã¯ãèŠä»¶ã®ç®¡çã®åé¡ãšããããèªåçã«è§£æ±ºãããæ¹æ³ãžã®çŽæ¥ã®åç
§ã§ãã
QïŒæšæº1Cãœãªã¥ãŒã·ã§ã³ã®å
žåçãªæ©èœããã¹ãããçç±ã¯äœã§ããïŒAïŒç¹°ãè¿ãè¿°ã¹ãããã«ãèªåãã¹ãã¯ãé·æã«ãããããã®ã§ãã å®è£
ãããã·ã¹ãã ããäºæ³ãããåäœãååšããããšã§ãæšæºã®1Cæ§æã®æ°ããããŒãžã§ã³ãžã®ã¢ããã°ã¬ãŒããç°¡çŽ åãããæšæºæ§æã«åºã¥ããŠéçºãè¡ãããŸãã 確ãã«ããã®åé¡ã¯ãã§ã«
å¥ã®ããªãã©ãããã®
ãã®ã§ãïŒè±èªãç¥ã£ãŠãã人åãïŒ ã ããã«å ããŠãæ¢ã«æ¡åŒµã®å¯èœæ§ããã
ãµã€ãã©ã€ã³ãèŠãããšã匷ããå§ãããŸããæ¡åŒµã¯æ¢ã«ãã¹ããèæ
®ããŠéçºããå¿
èŠããããŸãã
QïŒxUnitFor1Cã«ã€ããŠã®åºçç©ã¯ãã€ã§ããïŒAïŒé·ãè°è«ã®åŸãxDrivenDevelopmentçµç¹ã®èè
ã°ã«ãŒããxUnitã§ã®çºè¡ãè¡ãã¹ãã ãšèããŸããã
æåã®8æéã®ãããªã³ãŒã¹ãš
Infostartã§ã®
çºè¡ããå
±æã§ããŸãããã
ãã®è£œåã®
ãªãŒããŒã¯ xUnitFor1Cã§ã®çºè¡ãè¡ãå¿
èŠããããŸã
QïŒæ¬¡ã®åºçç©ã¯äœã§ããïŒAïŒ docker-composeããã³
docker-machineã®å
¬åŒãªãªãŒã¹åŸãããã³
1.5ãžã®dockerã®éçºåŸã1Cã®Dockerã®ãŸãŸã§ãã
ãä»ã§ã¯å°æ¬ãããŠããHabrã³ãã¥ããã£ã«æ¬åœã«åœ¹ç«ã¡ãŸãã