²âÊÔÇý¶¯¿ª·¢£¨TDD£©
²âÊÔÇý¶¯¿ª·¢ÊÇÒ»ÖÖ¿ª·¢·½·¨£¬ÔÚ±àд´úÂë֮ǰÏȱàд²âÊÔÓÃÀý£¬Í¨¹ý²âÊÔÀ´Òýµ¼´úÂëµÄ¿ª·¢¡£ÕâÖÖ·½·¨Äܹ»Ìá¸ß´úÂëµÄÖÊÁ¿ºÍ¿É¿¿ÐÔ£¬ÒòΪÿһ¸öй¦Äܶ¼ÓжÔÓ¦µÄ²âÊÔÓÃÀý£¬¿ÉÒÔÔÚ¿ª·¢¹ý³ÌÖм°Ê±·¢ÏÖºÍÐÞ¸´ÎÊÌâ¡£³£ÓõIJâÊÔ¿ò¼ÜÈçJUnit¡¢NUnitµÈ£¬¿ÉÒÔ°ïÖúʵÏÖTDD¡£
¸ß¼¶¼ÝÊ»¼¼Çɵijõ²½Á·Ï°
ËäÈ»¸ß¼¶¼ÝÊ»¼¼ÇÉÐèÒªÔÚרҵָµ¼Ï½øÐÐÁ·Ï°£¬µ«Ò»Ð©»ù±¾µÄ¼ÝÊ»¼¼ÄÜÔÚÈκÎÇé¿ö϶¼ÄÜÌá¸ßÄúµÄ?¼Ýʻˮƽ¡£ÀýÈ磬µ¡ËÙµµ¼ÝÊ»£¨CruiseControl£©¡¢ºìÍâÏ߹۲⣨NightVision£©¡¢¸ßËÙÐÐʻʱµÄƽÎÈ¿ØÖƵȣ¬ÕâЩ¼¼ÄÜÔÚÈÕ³£¼ÝÊ»Öж¼ÄÜÅÉÉÏÓó¡¡£
ÀÏ˾»úÃÇ×ÜÊÇÇ¿µ÷£¬ÔÚÊìϤµÄ»·¾³ÖÐÁ·Ï°ÕâЩ¼¼ÇÉ£¬¿ÉÒÔΪÄúÔÚδÀ´µÄ¸´ÔÓ¼ÝÊ»Çé¾³ÖÐÌṩÐÅÐĺͼ¼ÊõÖ§³Ö¡£
×îеĹۿ´Ç÷ÊÆ
Ö±²¥ºÍ»¥¶¯ÄÚÈÝ£ºÊµÊ±Ö±²¥ºÍ»¥¶¯ÄÚÈÝÔ½À´Ô½ÊÜ»¶Ó¡£¹ÛÖÚ¿ÉÒÔʵʱ²ÎÓëºÍ·´À¡£¬Ôö¼ÓÁËÄÚÈݵļ´Ê±ÐԺͻ¥¶¯ÐÔ¡£
½ÌÓýÄÚÈÝ£ºÔÚÏß½ÌÓýƽ̨µÄáÈÆð£¬Ê¹µÃ¸ßÖÊÁ¿µÄ½ÌÓýÄÚÈݸü¼ÓÆÕ¼°¡£¹ÛÖÚ¿ÉÒÔͨ¹ýÊÓÆµ¡¢Ö±²¥µÈ·½Ê½£¬ËæÊ±ËæµØÑ§Ï°ÐÂ֪ʶ¡£
¸öÐÔ»¯ÄÚÈÝÍÆ¼ö£º»ùÓÚÈ˹¤ÖÇÄܵĸöÐÔ»¯ÍƼöϵͳ£¬¿ÉÒÔΪÓû§Ìṩ¸ü¼ÓÌùºÏÆäÐËȤºÍÐèÇóµÄÄÚÈÝ¡£ÕâÖÖ¸öÐÔ»¯ÍƼöÄܹ»Ìá¸ßÄÚÈݵÄÏà¹ØÐÔºÍÎüÒýÁ¦¡£
³¤ÊÓÆµºÍÉî¶ÈÄÚÈÝ£ºÏà±ÈÓÚ¶ÌÊÓÆµ£¬³¤ÊÓÆµºÍÉî¶ÈÄÚÈÝÌṩÁ˸ü¶àÏêϸºÍÉîÈëµÄÐÅÏ¢¡£ÕâÖÖÇ÷ÊÆÊܵ½ÁËÐèÒªÉî¶ÈѧϰºÍÀí½âµÄ¹ÛÖڵ϶ӡ£
È«Çò»¯ÄÚÈÝ£ºËæ×Å»¥ÁªÍøµÄÆÕ¼°£¬È«Çò»¯ÄÚÈݵĴ«²¥Ëٶȼӿ졣¹ÛÖÚ¿ÉÒÔ½Ó´¥µ½À´×ÔÊÀ½ç¸÷µØµÄ¶àÑù»¯ÄÚÈÝ£¬·á¸»ÁË×Ô¼ºµÄÊÓÒ°¡£
×ܽá
ÏîÄ¿¹ÜÀíºÍ×î¼Ñʵ¼ùÊÇÈí¼þ¿ª·¢Öв»¿É»òȱµÄÒ»²¿·Ö£¬ËüÃDz»½öÄܰïÖúÎÒÃÇÈ·±£ÏîÄ¿°´Ê±½»¸¶¡¢¸ßÖÊÁ¿Íê³É£¬»¹ÄÜÌáÉýÍŶÓÐ×÷ЧÂʺͼ¼Êõˮƽ¡£Í¨¹ý²ÉÓÃÃô½Ý¿ª·¢·½·¨¡¢Ê¹ÓÃÃô½Ý¹¤¾ß¡¢ÊµÊ©CI/CD¡¢½øÐвâÊÔÇý¶¯¿ª·¢¡¢½øÐдúÂëÆÀÉóºÍÖØ¹¹¡¢×¢ÖØÎĵµÓë֪ʶ¹²Ïí¡¢¼ÓÇ¿·çÏÕ¹ÜÀíÒÔ¼°¸Ä½øÏîÄ¿¹µÍ¨ÓëÐ×÷£¬ÎÒÃÇ¿ÉÒÔ¸üºÃµØÓ¦¶Ô¿ª·¢¹ý³ÌÖеĸ÷ÖÖÌôÕ½£¬´Ó¶øÌáÉýÏîÄ¿³É¹¦ÂÊ¡£
Ï£ÍûÕâЩÒþ²ØµÄ¹¦Äܺͷ½·¨Äܹ»ÎªÄúµÄÈí¼þ¿ª·¢Ö®Â·ÌṩÓÐÒæµÄ²Î¿¼ºÍ°ïÖú¡£×£ÄúÔÚÈí¼þ¿ª·¢µÄµÀ·ÉÏÈ¡µÃ¸ü´óµÄ³É¹¦£¡
Ëã·¨µÄÑ¡Ôñ
Ñ¡ÔñºÏÊʵÄËã·¨ÊÇ´úÂëÓÅ»¯µÄ»ù´¡¡£²»?ͬµÄËã·¨ÔÚʱ¼ä¸´ÔӶȺͿռ临ÔÓ¶ÈÉÏÓÐ×ÅÏÔÖøµÄÇø±ð¡£ÀýÈ磬ÔÚÊý¾ÝÅÅÐò·½Ã棬¿ìËÙÅÅÐòºÍ¹é²¢ÅÅÐò¸÷ÓÐÆäÓÅÁÓ¡£¿ìËÙÅÅÐòÔÚÆ½¾ùÇé¿öÏÂЧÂʽϸߣ¬µ«ÔÚ×Çé¿öÏÂÐÔÄÜ¿ÉÄÜ»á´ó·ùϽµ¡£¶ø¹é²¢ÅÅÐòÔÚ×Çé¿öÏÂʼÖÕ±£³ÖÎȶ¨µÄÐÔÄÜ¡£
Òò´Ë£¬¸ù¾Ý¾ßÌåÓ¦Óó¡¾°Ñ¡ÔñºÏÊʵÄËã·¨£¬ÊÇÓÅ»¯´úÂëµÄµÚÒ»²½¡£
´úÂëÆÀÉóÓëÖØ¹¹
´ú?ÂëÆÀÉóÊÇÈ·±£Ö¤´úÂëÖÊÁ¿ºÍÌá¸ßÍŶӼ¼ÊõˮƽµÄÖØÒª»·½ÚÖ®Ò»¡£Í¨¹ý¶¨ÆÚµÄ´úÂëÆÀÉ󣬿ÉÒÔ·¢ÏÖ´úÂëÖеÄDZÔÚÎÊÌ⣬²¢Í¨¹ýÖØ¹¹À´ÓÅ»¯´úÂë½á¹¹£¬ÌáÉý´úÂëµÄ¿É¶ÁÐԺͿÉά»¤ÐÔ¡£´úÂëÆÀÉóͨ³£°üÀ¨¾²Ì¬´úÂë·ÖÎö£¨StaticCodeAnalysis£©ºÍ¶¯Ì¬´úÂë·ÖÎö£¨DynamicCodeAnalysis£©£¬Ç°Õß¿ÉÒÔʹÓù¤¾ßÈçSonarQube½øÐÐ×Ô¶¯»¯¼ì²é£¬ºóÕßÔòÐèҪͨ¹ýʵ¼ÊÔËÐÐÀ´·¢ÏÖÎÊÌâ¡£
¶ñÁÓÌìÆøÏµļÝÊ»¼¼ÇÉ
ÔÚ¶ñÁÓÌìÆøÏ£¬ÈçÓêÑ©ÌìÆø£¬¼ÝÊ»±äµÃ¸ü¼ÓÀ§ÄÑ¡£ÀÏ˾»úÃǻὨÒ飬ÔÚÏÂÓêʱ£¬Ó¦½µµÍ³µËÙ£¬²¢Ôö¼Ó¸ú³µ¾àÀ룬ÒÔ±ãÓÐ×ã¹»µÄʱ¼ä·´Ó¦ºÍɲ³µ¡£ÓêÌìµÄÂ·ÃæÊª»¬£¬Òò´Ë£¬Ó¦±ÜÃâ¼±¼ÓËٺͼ±É²³µ£¬ÒÔ·À³µÁ¾´ò»¬¡£ÔÚÏÂѩʱ£¬Ó¦È·±£³µÁ¾µÄɲ³µ¡¢µÆ¹âºÍ³µ´°Çå½à£¬²¢ÔÚÐÐÊ»¹ý³ÌÖб£³ÖµÍËÙ£¬±ÜÃ⼱תÍäºÍ¼±¼ÓËÙ¡£
Ò¹¼ä¼ÝÊ»¼¼ÇÉ
Ò¹¼ä¼ÝÊ»ÊÇÒ»ÖÖ¸ü¾ßÌôÕ½ÐԵļÝÊ»·½Ê½£¬ÀÏ˾»úÃÇÇ¿µ÷£¬Ò¹¼ä¼ÝÊ»ÐèÒª¸ü¸ßµÄרע¶ÈºÍ¼¼ÇÉ¡£È·±£³µÁ¾µÄ´óµÆºÍÆäËûÕÕÃ÷É豸¹¤×÷Õý³£¡£ÔÚÒ¹¼ä¼Ýʻʱ£¬Ó¦¾¡Á¿±ÜÃâÓë¶ÔÃæ³µÁ¾Ö±½Ó¶ÔµÆ£¬ÒÔÃâÓ°ÏìÊÓÏß¡£Ò¹¼ä¼Ýʻʱ£¬Ó¦×¢Òâ³µËÙ£¬±£³ÖÔÚ°²È«·¶Î§ÄÚ£¬²¢ÔÚ·¿ö²»¼Ñʱ¼õËÙÐÐÊ»¡£
ÔÚºÚ°µÖУ¬Â·±êºÍ±êÖ¾¿ÉÄܲ»Ã÷ÏÔ£¬Òò´Ë£¬ÔÚÒ¹¼ä¼Ýʻʱ£¬Ó¦¶à´ÎÈ·ÈÏ·Ïߺͷ½Ïò¡£
У¶Ô£ºË®¾ùÒæ(p6mu9CWFoIx7YFddy4eQTuEboRc9VR7b9b)


