ããããå°ãªããšãå°é¢ããéããããšããããã«ã¯ãæŠå¿µãšããŠã®ãã¹ããéçºããã»ã¹ãæãããšãç解ããå¿ èŠããããŸãã ãã®ãããéçºè ããã¹ãããå¿ èŠããããŸãã ããããã§ããã ã䟿å©ã«ããã«ã¯ã©ãããã°ããã§ããïŒ
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 users.v8.1c.ru/distribution => 8.3ã*
- git-msgit msysgit.github.io => 1.7
- ã«ããŒwww.ruby-lang.org/en/downloads => 2.0
- python wiki.python.org/moin/Python2orPython3 => 2.5
ãŸããåäœã«ãã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)
ãããã®ããã·ãŒãžã£ãŒãåŒã³åºãããã®ãã©ã¡ãŒã¿ãŒïŒçªå·ãè¡ãæ¥ä»ïŒãå®çŸ©ãããããããã¹ãããããå®çŸ©ãããŸããã次ã«äŸã瀺ããŸãã
//â@(01,02)â
ããã§äœãã§ãããèŠãŠã¿ãŸãããã
æåã«ç®ãåŒãã®ã¯ããã©ã¡ãŒã¿ãŒå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ã³ã³ã»ããã®éçºã®ç¶ç¶ã§ãããç°ãªãã¢ãããŒãã䜿çšããŠããŸã-çŸåšã¯ãã¹ãããã§ã¯ãªããåäœã®èŠä»¶ããã§ãã
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ïŒå€ãã®è³æããããŸãããïŒ
- 次åã®AgileDays2015ã®åºèª¿è¬æŒè ããã¥ãŠãªã®äœè ã«ãªããšããäºå®ã«æ³šç®ããŸãã
- 1幎åã«ãªãªãŒã¹ãããJohn Ferguson Smartã«ããBDD In Action
- Dan Northã®èšäºãèªãããšã匷ããå§ãããŸã
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ã³ãã¥ããã£ã«æ¬åœã«åœ¹ç«ã¡ãŸãã