Unused Declaration  

 

Unused DeclarationÀº IDEA°¡ ¼³¸íÇß´ø ±âÁ¸ ÁøÀÔÁ¡ÀÇ ¾î¶² °ÍÀ¸·ÎºÎÅÍ µµ´ÞµÉ ¼ö ¾ø´Â ´ç½ÅÀÇ Äڵ忡¼­ Ŭ·¡½º¿Í Ŭ·¡½º ¸â¹ö¸¦ À§ÇØ Å½»öÇÕ´Ï´Ù.


ÁøÀÔÁ¡Àº ÇÁ·Î±×·¥ ½ÇÇà¿¡ µû¶ó Á¦¾î¸¦ ¸íÈ®È÷ ¾ò´Â ÄÚµåÀÔ´Ï´Ù. ¸ðµç ÁøÀÔÁ¡Àº Entry Points ÅÇÀÇ ¸ñ·Ï¿¡¼­ ³ªÅ¸³³´Ï´Ù.  ¸ñ·ÏÀº Ãß°¡µÇ°Å³ª(Unreachable code ÄÚµå ÅÇÀÇ ¹®¸Æ ¸Þ´º), Á¦°ÅµÉ(Entry PointsÀÇ ¹®¸Æ ¸Þ´º) Ç׸ñÀ» Ç¥½ÃÇÕ´Ï´Ù.


Unused Declaration ´Â ´ÙÀ½ ¿É¼ÇÀ» °¡Áý´Ï´Ù:

ÀÚµ¿ÀûÀ¸·Î ¸ðµç void main(String args[]) ¸Þ¼Òµå¸¦ ÁøÀÔÁ¡¿¡ Ãß°¡ÇϽʽÿÀ

 

¸¸ÀÏ ÀÌ Ã¼Å© ¹Ú½º°¡ ¼±ÅõǾú´Ù¸é, °Ë»ç´Â ÁøÀÔÁ¡À¸·Î¼­ ´ç½ÅÀÇ Äڵ忡¼­ ¸ðµç void main(String args[]) ¸Þ¼Òµå¸¦ °í·ÁÇÒ °ÍÀÔ´Ï´Ù.

ÀÚµ¿ÀûÀ¸·Î ¸ðµç JUnit Å×½ºÆ® ÄÉÀ̽º¸¦ ÁøÀÔÁ¡¿¡ Ãß°¡ÇϽʽÿÀ

 

¸¸ÀÏ ÀÌ Ã¼Å© ¹Ú½º°¡ ¼±ÅõǾú´Ù¸é, °Ë»ç´Â ÁøÀÔÁ¡À¸·Î¼­ ´ç½ÅÀÇ Äڵ忡¼­ ¸ðµç JUnit Å×½ºÆ® ÄÉÀ̽º¸¦ °í·ÁÇÒ °ÍÀÔ´Ï´Ù.

ÀÚµ¿ÀûÀ¸·Î ¸ðµç ¾ÖÇø´À» ÁøÀÔÁ¡¿¡ Ãß°¡ÇϽʽÿÀ

 

¸¸ÀÏ ÀÌ Ã¼Å© ¹Ú½º°¡ ¼±ÅõǾú´Ù¸é, °Ë»ç´Â ÁøÀÔÁ¡À¸·Î¼­ ´ç½ÅÀÇ Äڵ忡¼­ ¸ðµç ¾ÖÇø´À» °í·ÁÇÒ °ÍÀÔ´Ï´Ù.

ÀÚµ¿ÀûÀ¸·Î ¸ðµç ¼­ºê¸´À» ÁøÀÔÁ¡¿¡ Ãß°¡ÇϽʽÿÀ

 

¸¸ÀÏ ÀÌ Ã¼Å© ¹Ú½º°¡ ¼±ÅõǾú´Ù¸é, °Ë»ç´Â ÁøÀÔÁ¡À¸·Î¼­ ´ç½ÅÀÇ Äڵ忡¼­ ¸ðµç ¼­ºê¸´À» °í·ÁÇÒ °ÍÀÔ´Ï´Ù.

ÀÚµ¿ÀûÀ¸·Î non-java ÆÄÀÏ¿¡¼­ »ç¿ëÀ» °¡Áö´Â Ŭ·¡½º¸¦ ÁøÀÔÁ¡¿¡ Ãß°¡ÇϽʽÿÀ

 

¸¸ÀÏ ÀÌ Ã¼Å© ¹Ú½º°¡ ¼±ÅõǾú´Ù¸é, °Ë»ç´Â ÁøÀÔÁ¡À¸·Î¼­ non-java ÆÄÀÏ¿¡¼­ ¸ðµç Ŭ·¡½º¸¦ °í·ÁÇÒ °ÍÀÔ´Ï´Ù.


¸¸ÀÏ Unused Declaration Ã¼Å© ¹Ú½º°¡ ¼±ÅõǾú°í Inspection ÀÌ ¾î¶² ¹®Á¦¶óµµ ¹ß°ßÇϸé, InspectionÅø À©µµ¿ì´Â Unused code ÅÇÀ» Ç¥½ÃÇÕ´Ï´Ù.  ÀÌ ÅÇÀº 2 ³»ºÎ ÅÇÀ» °¡Áý´Ï´Ù:  Unreachable code ÄÚµå ÅÇÀº µµ´ÞµÉ ¾ø´Ù°í ÀǽɵǴ ±× Ŭ·¡½º¿Í Ŭ·¡½º ¸â¹ö¸¦ Æ÷ÇÔÇÕ´Ï´Ù. ±×¸®°í Entry points ÅÇÀº ´ç½Å¿¡°Ô ¸ðµç ÄÚµå ÁøÀÔÁ¡À» °¡¸®ÄÑ ÁÝ´Ï´Ù.

µµ´ÞÇÒ ¼ö ¾ø´Â ÄÚµå ³»ºÎ ÅÇ


Unreachable code ÄÚµå ³»ºÎ ÅÇ¿¡¼­ Ç׸ñÀ» ¿À¸¥ÂÊ ¹öưÀ» Ŭ¸¯ÇÏ´Â °Í¿¡ ÀÇÇØ ºÒ·ÁÁö´Â ¹®¸Æ ¸Þ´º´Â ´ç½Å¿¡°Ô ¸î °³ÀÇ ¹®Á¦ ÇØ°á°ú ÇÔ²² ÇÁ·ÒÇÁÆ®ÇÕ´Ï´Ù.  ´ç½ÅÀº ÀÌ Ç׸ñÀ» ÁøÀÔÁ¡ ¸ñ·Ï¿¡ Ãß°¡ÇÒ ¼ö Àְųª, ±×°ÍÀ» ¿µ±¸ÀûÀ¸·Î »èÁ¦ÇÒ ¼ö Àְųª, ±×°ÍÀ» ÁÖ¼®ÇÒ ¼ö ÀÖ½À´Ï´Ù.


ÁøÀÔÁ¡ ¸ñ·ÏÀ¸·Î Ç׸ñÀ» Ãß°¡ÇÏ¸é µµ´Þ µÇ´Â °Í¿¡ °ü·ÃµÈ ÀÌ Ç׸ñÀÇ ¹üÀ§¸¦ ÃÊ·¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.  ±×¸®°í ±×·± µµ´ÞÇÒ ¼ö ¾ø´Â Ç׸ñÀÇ ºÐ±â´Â Æ®¸® º¸±â·ÎºÎÅÍ Áï½Ã »ç¶óÁú °ÍÀÔ´Ï´Ù.



ºê¶ó¿ìÀú À©µµ¿ì´Â ´ÙÀ½ ºÎ°¡ÀÇ Çʵ带 ´ç½Å¿¡°Ô Æ®¸® º¸±â¿¡¼­ ¼±ÅÃµÈ Ç׸ñ¿¡ °üÇÑ Á¤º¸¸¦ Á¦°øÇϵµ·Ï ÇÒ ¼ö ÀÖ½À´Ï´Ù.

Uses the following  


Æ®¸® º¸±â¿¡¼­ ¼±ÅÃµÈ Å¬·¡½º³ª Ŭ·¡½º ¸â¹ö°¡ ¾î¶² »ç¿ëÀ» °¡Áö´ÂÁö ´ç½Å¿¡°Ô ¾Ë¸®°í, ÀÌ Àͼ÷ÇÑ Ç׸ñ À§¿¡¼­ ´ç½Å¿¡°Ô ÀϺΠºÎ°¡ Á¤º¸¸¦ ÁÝ´Ï´Ù.  Ç׸ñ¸íÀ» Ŭ¸¯ÇÏ¸é ´ç½ÅÀº ¿¡µðÅÍ¿¡¼­ ±×°Í¿¡ ³×ºñ°ÔÀÌÆ®ÇÏ°í ±× À̸§ À§¿¡¼­ ij·µÀ» ¹èÄ¡ÇÕ´Ï´Ù.

Used from  

¾îµð¿¡ Ŭ·¡½º³ª Ŭ·¡½º ¸â¹ö°¡ »ç¿ëµÇ°í ÀÖ´ÂÁö ´ç½Å¿¡°Ô ¾Ë¸³´Ï´ÙÆ®¸® º¸±â¿¡¼­ ±×°ÍÀ» ¼±ÅÃÇϸé ÀÌ Æ¯º°ÇÑ Ç׸ñ¿¡ ´ëÇÏ¿© ´ç½Å¿¡°Ô ÀϺΠºÎ°¡ Á¤º¸¸¦ ÁÝ´Ï´Ù.  Ç׸ñ¸íÀ» Ŭ¸¯ÇÏ¸é ´ç½ÅÀº ¿¡µðÅÍ¿¡¼­ ±×°Í¿¡ ³×ºñ°ÔÀÌÆ®ÇÏ°í ±× À̸§ À§¿¡¼­ ij·µÀ» ¹èÄ¡ÇÕ´Ï´Ù.

Derived methods  


Ŭ·¡½º¿¡¼­ ºñ·ÔµÇ´Â ¸Þ¼Òµå¿¡ ´ëÇÏ¿© ¸â¹ö°¡ Æ®¸® º¸±â¿¡¼­ ¼±ÅÃÇß´ø °ÍÀ» ´ç½Å¿¡°Ô ¾Ë¸³´Ï´Ù.

Instantiated from  


Æ®¸® º¸±â¿¡¼­ ¼±ÅÃµÈ Å¬·¡½ºÀÇ ¹ß°ßµÈ ÀνºÅϽº »ý¼º À§¿¡¼­ ´ç½Å¿¡°Ô ¾Ë·ÁÁÝ´Ï´Ù.

Overrides library methods  


Æ®¸® º¸±â¿¡¼­ ¼±ÅÃµÈ Å¬·¡½º ¸â¹ö°¡ ´ë·« ¾î¶² ¶óÀ̺귯¸® ¸Þ¼Òµå¸¦ µ¤¾î ¾²´ÂÁö ´ç½Å¿¡°Ô ¾Ë¸³´Ï´Ù.

Overrides/implements  


´ç½Å¿¡°Ô Æ®¸® º¸±â¿¡¼­ ¼±ÅÃµÈ Å¬·¡½º ¸â¹ö°¡ ¿À¹ö¶óÀÌµå ¶Ç´Â ±¸ÇöÀ» ¾Ë·ÁÁÝ´Ï´Ù.

Extends/implements  


´ç½Å¿¡°Ô Æ®¸® º¸±â¿¡¼­ ¼±ÅÃµÈ Å¬·¡½º°¡ È®ÀåÇÏ´Â °Í ¶Ç´Â ±¸ÇöÀ» ¾Ë·ÁÁÝ´Ï´Ù.

 

ÁøÀÔÁ¡ ³»ºÎ ÅÇ


ÀÌ ÅÇ Æ®¸® º¸±â¿¡¼­ Ç׸ñÀ» ¿À¸¥ÂÊ ¹öưÀ» Ŭ¸¯ÇÏ´Â °Í¿¡ ÀÇÇØ ºÒ¸®´Â ¹®¸Æ ¸Þ´º´Â ´ç½Å¿¡°Ô ÁøÀÔÁ¡ ¸ñ·ÏÀ¸·ÎºÎÅÍ ¼±ÅÃµÈ Ç׸ñÀ» »èÁ¦ÇÏ´Â °ÍÀ» Çã¶ôÇÕ´Ï´Ù.

»ç¿ë ¿¹


¿¹¸¦ µé¸é, ´ÙÀ½ Ŭ·¡½º¸¦ °Ë»çÇÕ´Ï´Ù:

 
public class AClass {
    void method1(){
        //some code here
    }
 
    void method2(){
        method1();
    }
 
    void method3(){
        method2();
    }
 
    void method4(){
        //some code here
    }
 
    public static void main(String[] args) {
        AClass aClass = new AClass();
        aClass.method4();
    }
}


Inspection ÀÌ Àû¿ëµÇ°í ³­ ÈÄ¿¡, ´ÙÀ½ Åø À©µµ¿ì´Â ³ªÅ¸³¯ °ÍÀÔ´Ï´Ù.



method3()´Â °áÄÚ ºÒ·ÁÁöÁö ¾Ê°í, ±×·¯¹Ç·Î ¹Ì»ç¿ë ¼±¾ðÀ¸·Î¼­ Ç¥½ÃµË´Ï´Ù.  ¶ÇÇÑ, method1()°ú method2() ´Â Ŭ·¡½º ÁøÀÔÁ¡À¸·ÎºÎÅÍ µµ´ÞµÇÁö ¾Ê½À´Ï´Ù.