| ½ÇÆÐ ¼±¾ðÀû °¡Á¤ °Ë»ç¸¦ ÅëÇØ ·çºñ °³¹ßÀÚ¸¦ Á¦°ø ÇÒ ¼öÀÖ´Â ¹«·á °³¹ß µµ±¸ |
Áö±Ý ´Ù¿î·Îµå |
½ÇÆÐ ¼øÀ§ ¹× ¿ä¾à
- °Ô½ÃÀÚ À¥»çÀÌÆ®:
- http://avdi.org/
½ÇÆРű×
½ÇÆÐ ¼³¸í
¼±¾ðÀû °¡Á¤ °Ë»ç¸¦ ÅëÇØ ·çºñ °³¹ßÀÚ¿¡°Ô Á¦°ø ÇÒ ¼öÀÖ´Â ¹«·á °³¹ß µµ±¸ Failfast´Â °æ·® °è¾à üÇèÀ»À§ÇÑ ÁÖÀå ¹æ¹ý Ä÷º¼ÇÀÔ´Ï´Ù. NILS¸¦ »ç¿ëÇÏ°í ´Ù¸¥ ³ª»Û °ªÀº ÀϹÝÀûÀ¸·Î ·çºñ ÇÁ·Î±×·¥À» °á±¹À¸·Î °¡Á®¿Ã ¼ö ÀÖÁö¸¸ ½ÇÁ¦ ½ÇÆÐ ÁöÁ¡Àº ÄÝ ½ºÅðú °ø°³º¸´Ù´Â ¿À·ù ¸Þ½ÃÁö°¡ ±í¾î Áú ¼ö ÀÖ½À´Ï´Ù. °¡Á¤À» È®ÀÎÇϱâÀ§ÇÑ ½ÇÆÐÇÑ Àå¾Ö¸¦ È®ÀÎÇÏ´Â ½ÇÆÐÇÑ ¾î¼³ ¼ÇÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ½ÇÆÐÇÑ ÁÖ¿ä ¸ñÇ¥ÀÇ ÁÖ¿ä ¸ñÇ¥¸¦ Á÷Á¢ÀûÀ¸·Î °¡¸®Å°´Â ½ºÅà ÃßÀûÀ¸·Î ÇÁ·Î±×·¥ÀÌ °¡Á¤ÇÏ´Â °ÍÀÔ´Ï´Ù. °Ë»ç ¼±¾ð¹®. °¡Á¤ °Ë»ç´Â °ËÁõ¿¡¼ ¼ö··¿¡ ºüÁöÁö ¾Ê°íµµ ¹æ¹ýÀÇ °í±â¿¡ µµ´Þ ÇÒ ¼ö ÀÖµµ·Ï °£´ÜÇÏ°í °£°áÇؾßÇÕ´Ï´Ù. µ¿½Ã¿¡ ÆäÀÏ ÆнºÆ®´Â °¡º±½À´Ï´Ù. Failfast´Â Meta-Programmed Design-Contract DSLÀÌ ¾Æ´Õ´Ï´Ù. Failfast´Â °ªÀ» °ËÁõÇϱâÀ§ÇÑ ´Ü¼øÇÑ ¼¼Æ®ÀÇ ´Ü¼øÇÑ ¼¼Æ® ÀÏ»ÓÀÔ´Ï´Ù. ¸ðµç efallity¿¡ ´ëÇÑ Àü¹® ÁÖÀåÀ» °®´Â ½ÇÆÐÀÇ Àǵµ°¡ ¾Æ´Õ´Ï´Ù. ¿ÀÈ÷·Á ±×°ÍÀº ¸íÈ®¼º°ú ¼±¾ðµµ¸¦ Å©°Ô Áõ°¡½Ãų ¼öÀÖ´Â ÀáÀç·ÂÀÌÀÖ´Â ¸î °¡Áö ÀϹÝÀûÀÎ »ç·Ê¸¦ µ¤°í ÀÖ½À´Ï´Ù. ´ÙÀ½Àº "failfast"ÀÇ ¸î °¡Áö ÁÖ¿ä ±â´ÉÀÔ´Ï´Ù. ¡¤ ¿ÏÀüÈ÷ spec'd / Å×½ºÆ®µÇ¾ú½À´Ï´Ù. ¡¤ ´ëºÎºÐÀÇ °æ¿ì ÁÖÀåÀº ¸¶Áö¸· ÁÖÀåÀ» ¹ÝȯÇÕ´Ï´Ù. ÀÌ·¸°ÔÇÏ¸é °ªÀ» ½±°Ô È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î : Assert_exists (obj) .foo () ¡¤ ´ëºÎºÐÀÇ ¾î¼³ ¼ÇÀº Ãß°¡ ºÎ¿ï ¼öÇ¥¸¦ ¼öÇà ÇÒ ¼öÀÖ´Â ºí·ÏÀ» ÃëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î assert_exists (x) {X.Predicate¸¦ »ç¿ëÇϽʽÿÀ. } ¸ÕÀú X°¡ nilÀÌ ¾Æ´Ï¸ç ¼ú¾î¸¦ ¸¸Á·½ÃÅ°´Â °ÍÀ» È®ÀÎÇϽʽÿÀ. ¡¤ AssertionFailure´Â ¿¹¿Ü¿¡¼ Á÷Á¢ ÆÄ»ýµÇ¹Ç·Î ¾Æ¹«·± Àμö Catch ¹®À¸·Î Á¶¿ëÈ÷ ¸ÔÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù.
½ÇÆÐ °ü·Ã ¼ÒÇÁÆ®¿þ¾î