Replace Method Code Duplicates ¸®ÆÑÅ丵Àº ´ç½Å¿¡°Ô ¼±ÅÃµÈ ¸Þ¼Òµå ÄÚµå ¹Ýº¹ÀÇ À§Ä¡¸¦ °áÁ¤Çϰí, ±×µéÀ» ¸Þ¼Òµå ÄÝ·Î ¹Ù²Ù´Â
°ÍÀ» Çã¶ôÇÕ´Ï´Ù. ÀÌ ¸®ÆÑÅ丵 À§¿¡¼ »ó¼¼ÇÑ °ÍÀº Overview ¸¦ ÂüÁ¶ÇϽʽÿÀ. ±×·¸Áö ¾ÊÀ¸¸é how to replace method
code duplicatesÀ» ±â¼úÇÑ ¼½¼ÇÀ¸·Î Á÷Á¢ °¡½Ê½Ã¿À.
Replace Method Code Duplicates ¸®ÆÑÅ丵ÀÌ È£ÃâµÉ ¶§, IDEA´Â ¼±ÅÃµÈ ¸Þ¼Òµå Äڵ带 ºÐ¼®Çϰí, ÀÌ ¸Þ¼Òµå¿¡ Äݰú ÇÔ²² ġȯµÉ ¼ö
ÀÖ´Â ÄÚµåÀÇ ºí·ÏÀ» ¹ß°ßÇÕ´Ï´Ù.
¿¹¸¦ µé¸é, ´ç½ÅÀº Äڵ带 °¡Áý´Ï´Ù:
public void originalMethod( int intParam, String stringParam){
BigField.greatMethod(intParam, stringParam);
}
public void duplicatedMethod(){
//method code
BigField.greatMethod(10, "abc");
//method code
}
originalMethod ¿¡¼ ¸®ÆÑÅ丵À» ½ÃÀÛÇÏ¸é ´ç½Å¿¡°Ô originalMethod¿¡ ÄÝÀ» À§ÇØ duplicatedMethod ³»¿¡¼ Äڵ带 ±³Ã¼ÇÒ °ÍÀ» Á¦¾ÈÇÒ °ÍÀÔ´Ï´Ù. ³¡À¸·Î, ÄÚµå´Â ±×·¸°Ô º¸ÀÏ °ÍÀÔ´Ï´Ù:
public void originalMethod( int intParam, String stringParam){
BigField.greatMethod(intParam, stringParam);
}
public void duplicatedMethod(){
//method code
originalMethod(10, "abc");
//method code
}
¸Þ¼Òµå ÄÚµå Áߺ¹À» ±³Ã¼ÇÏ´Â ¹æ¹ý
|
¸Þ¼Òµå ÄÚµå Áߺ¹À» ¹ß°ßÇϰí, ±³Ã¼Çϱâ À§ÇÏ¿©:
1. ´ç½ÅÀÌ ÄÚµå Áߺ¹¿¡ ´ëÇØ Ž»öÇϱ⠿øÇÏ´Â ¸Þ¼ÒµåÀÇ º¸µð ³»¿¡¼ ij·µÀ» ¿¡µðÅÍ¿¡¼ ¼³Á¤ÇϽʽÿÀ. ±×¸®°í ¿À¸¥ÂÊ ¹öưÀ» Ŭ¸¯ÇÏ´Â °Í¿¡ ÀÇÇØ ºÒ·ÁÁö´Â ÆË¾÷ ¸Þ´º·ÎºÎÅÍ ¶Ç´Â ¸ÞÀÎ ¸Þ´º·ÎºÎÅÍ ¾î´À ÂÊÀÌ¶óµµ Refactor |
Replace Method Code Duplicates... Ŭ¸¯ÇϽʽÿÀ.
2. ±× ÈÄ¿¡, ´ÙÀ½ÀÇ À©µµ¿ì´Â ¾ó¸¶³ª ¸¹Àº ¸ÅĪ ÄÚµå ÇÁ·¡±×¸ÕÆ®°¡ ¹ß°ßµÇ¾ú´Â°¡¸¦ º¸¿©ÁÖ¸é¼ ³ªÅ¸³¯ °Í ÀÔ´Ï´Ù:

3. ¸¸ÀÏ ´ç½ÅÀÌ Replace¸¦ ´©¸£¸é IDEA´Â ´ç½Å¿¡°Ô ´ÙÀ½ ´ÙÀ̾ó·Î±×¿Í ÇÔ²² ±³Ã¼¸¦ À§ÇØ ÇÁ·ÒÇÁÆÃÇÏ¸ç ¿¡µðÅÍ¿¡¼ ±×°ÍÀ» °Á¶Çϰí ÀÖ´Â ÄÚµåÀÇ °¢°¢ ¹ß°ßµÈ Á¶°¢À» ±³Ã¼ÇÒ °ÍÀ» Á¦¾ÈÇÒ °ÍÀÔ´Ï´Ù.

´ç½ÅÀº Yes¸¦ ´·¯ °Á¶µÈ Äڵ带 ±³Ã¼ÇÒ ¼ö Àְųª No¸¦ ´·¯ ±×°ÍÀ» ½ºÅµÇÒ ¼ö ÀÖ½À´Ï´Ù.
4. ´ç½ÅÀÌ ÇÁ·Î¼¼½º Çϱ⸦ ¼±ÅÃÇÑ ÄÚµåÀÇ ¸ðµç Á¶°¢Àº ¼±ÅÃµÈ ¸Þ¼Òµå¿¡¼ Äݰú ´õºÒ¾î ±³Ã¼ÇÕ´Ï´Ù.
|