´ÙÀ½ ÆÐŰÁö¿¡ Æ÷ÇÔµÈ ¼Ò½º´Â J2EE ¸ð¹ü »ç·Ê ±ÔÄ¢ Áß ÀϺο¡¼ °ËÅäµÇÁö ¾Ê½À´Ï´Ù.
1. com.ibm
2. COM.ibm
3. sun
4. sunw
5. java
6. javax
7. org.apache
8. com.sun
9. org.omg
10. org.ietf
11. org.w3c
12. org.xml
ÄÚµå °ËÅä º¸±â¿¡¼, J2EE ¸ð¹ü »ç·Ê ±ÔÄ¢À¸·Î ¹ß°ßµÈ °á°ú Áß ÀϺο¡ Çà ¹øÈ£°¡ Ç×»ó Ç¥½ÃµÇÁö´Â ¾Ê½À´Ï´Ù. ¹ß°ß °á°ú¸¦ µÎ ¹ø Ŭ¸¯ÇÏ¸é ¿Ã¹Ù¸¥ Çà ¹øÈ£°¡ Ç¥½ÃµË´Ï´Ù.
µ¥ÀÌÅÍ ÇÃ·Î¿ì °æ·Î´Â ±ÔÄ¢ ¹ß°ß °á°ú·Î °Á¶Ç¥½ÃµÈ ¹®Á¦¸¦ ¾ß±âÇÏ´Â µ¥ÀÌÅÍ º¯°æ»çÇ× Á¾¼Ó¼º È÷½ºÅ丮¸¦ Ç¥½ÃÇÕ´Ï´Ù. ÀÌ·¯ÇÑ µ¥ÀÌÅÍ ÇÃ·Î¿ì °æ·Î´Â °æ·Î ÅÇ¿¡ Ç¥½ÃµË´Ï´Ù. °£È¤ µ¥ÀÌÅÍ ÇÃ·Î¿ì °æ·Î°¡ JSDK ¶Ç´Â J2EE Ŭ·¡½º¿¡ ÀÖ´Â ³»ºÎ µ¥ÀÌÅÍ ±¸Á¶¸¦ Ç¥½ÃÇÒ ¶§µµ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, java.lang.Vector À¯ÇüÀÇ º¯¼ö°¡ ¼öÁ¤µÇ¾ú´Ù°í Ç¥½ÃÇÏ´Â ´ë½Å java.lang.Object[]variableÀÌ ¼öÁ¤µÇ¾ú´Ù°í Ç¥½ÃÇÏ´Â ¸Þ½ÃÁö¸¦ º¸°Ô µË´Ï´Ù. ÀÌ´Â java.lang.Vector ±¸ÇöÀÇ ³»ºÎ ÇʵåÀ̸ç, ÅÇ¿¡ ÀÌ·± °³ÀÎ Á¤º¸°¡ Ç¥½ÃµÇ¸é È¥µ¿½º·¯¿ï ¼ö ÀÖ½À´Ï´Ù.
µðÀÚÀÎ ÇÁ¸°½ÃÆÞ ±ÔÄ¢ Ä«Å×°í¸®¿¡¼ º¹À⼺ ±ÔÄ¢ ±íÀ̸¦ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ±ÔÄ¢ "Avoid nesting more than 1 class(es)"¸¦ "Avoid nesting more than 3 class(es)"·Î ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±ÔÄ¢ÀÌ ¿Ã¹Ù¸£°Ô µ¿ÀÛÇÏ·Á¸é ±íÀÌ¿¡ ¾ç¼ö¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. ±×·¯³ª º¹À⼺ ±ÔÄ¢Àº ÇöÀç ±íÀ̰¡ ¾ç¼ö·Î ¼³Á¤µÇ´ÂÁö È®ÀÎÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ ¹®Á¦¸¦ ¹æÁöÇÏ·Á¸é 0À̳ª À½¼ö¿Í °°Àº À¯È¿ÇÏÁö ¾ÊÀº ¼ýÀÚ¸¦ ÀÔ·ÂÇÏÁö ¸¶½Ê½Ã¿À.
¸Å°³º¯¼ö¿¡ US ASCII°¡ ¾Æ´Ñ ¹®ÀÚ¸¦ »ç¿ëÇÏ¿© ÅÛÇø®Æ®·ÎºÎÅÍ ±ÔÄ¢À» ÀÛ¼ºÇÒ °æ¿ì ÀÎÄÚµù ¹®Á¦°¡ ¹ß»ýÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ·ÎÄà ¹®ÀÚ¸¦ »ç¿ëÇÏ´Â À¯Çü ¶Ç´Â ¸Þ¼Òµå¸¦ ¼±ÅÃÇÒ °æ¿ì¿¡ ÀÌ·± ¹®Á¦°¡ ¹ß»ýÇÕ´Ï´Ù. ÀÌ·± ÀÎÄÚµù ¹®Á¦·Î, ÇØ´ç Ư¼º°ú US ASCII°¡ ¾Æ´Ñ ¹®ÀÚ¸¦ »ç¿ëÇÏ¿© ÀÛ¼ºÇÑ ±ÔÄ¢À» ½ÇÇàÇÒ °æ¿ì ¿¹¿Ü°¡ ¹ß»ýÇÕ´Ï´Ù.
±¸Á¶ ºÐ¼® ±ÔÄ¢ÀÇ ÄÚµå °ËÅä ÁøÇàÀÌ ÀûÀýÇÏ°Ô º¸°íµÇÁö ¾Ê½À´Ï´Ù. (Áï, ÁøÇà ´ëÈ »óÀÚ°¡ Ç×»ó 100% ÁøÇàÀ¸·Î º¸°íµË´Ï´Ù.) ÄÚµå °ËÅä°¡ ¿Ï·áµÇ±â¸¦ ±â´Ù·Á¾ß ÇÕ´Ï´Ù.
°£È¤ ÄÚµå °ËÅ並 ½ÃÀÛÇÒ ¶§ ½ÃÀÛ/ÁßÁö ´ÜÃß°¡ ¼·Î °ãÄ£ ¾ÆÀÌÄÜÀ¸·Î Ç¥½ÃµË´Ï´Ù.
"Avoid using java.langString.compareTo () to compare locale-sensitive strings" ±ÔÄ¢¿¡ ´ëÇÑ ºü¸¥ ¼öÁ¤»çÇ×ÀÌ ±ÔÄ¢ÀÇ ´ë»óÀÎ ¹®Á¦¸¦ ÇØ°áÇÏ´Â µÎ °¡Áö ¼Ö·ç¼ÇÀ» Á¦¾ÈÇÕ´Ï´Ù. <Use com.ibm.icu.text.Collator »ç¿ë>À» Á¦¾ÈÇÏ´Â ¼Ö·ç¼ÇÀº ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù. ¼Ö·ç¼ÇÀº <Use java.text.Collator>À̾î¾ß ÇÕ´Ï´Ù.
J2EE ±ÔÄ¢ ÅÛÇø®Æ® "Always call [methodA] after [methodB]"¸¦ »ç¿ëÇÏ¿© »õ ±ÔÄ¢À» ÀÛ¼ºÇÒ ¶§ ÀÛ¾÷°ø°£¿¡¼ ±âº»ÀûÀ¸·Î [methodB]°¡ »ý¼ºÀÚÀ̰í ÄÚµå °ËÅä ½Ã ±ÔÄ¢ÀÌ ½ÇÇàµÇ¸é, ±ÔÄ¢ ¹ß°ß °á°ú°¡ »ý¼ºµÇÁö ¾Ê½À´Ï´Ù.
J2EE ¸ð¹ü »ç·Ê ÅÛÇø®Æ® ±ÔÄ¢ "Always call [methodA] after [methodB]"·Î ƯÁ¤ ¿ÀºêÁ§Æ® ÀνºÅϽº¿¡ ´ëÇØ »õ ±ÔÄ¢À» ÀÛ¼ºÇÒ °æ¿ì, ±ÔÄ¢À» Á¤ÀÇÇÏ´Â ´ÙÀ½ÀÇ Æ¯Á¤ °æ¿ì¿¡¼ ¿Ã¹Ù¸£Áö ¾ÊÀº ±ÔÄ¢ ¹ß°ß °á°ú°¡ »ý¼ºµÉ ¼ö ÀÖ½À´Ï´Ù. "Always call [methodA] after [methodB]" ÆÐÅÏ¿¡¼ ¸Þ¼Òµå¸¦ ¼±ÅÃÇϸç, J2EE Äڵ忡¼ ¸Þ¼ÒµåÀÇ ¿ÀºêÁ§Æ® ÀνºÅϽº°¡ ºÐ¼®ÇÒ ServletÀÇ ¶óÀÌÇÁ»çÀÌŬº¸´Ù Å« ¶óÀÌÇÁ»çÀÌŬÀ» °¡Áö´Â °æ¿ì, ±ÔÄ¢ ¹ß°ß °á°ú°¡ ¿Ã¹Ù¸£Áö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½ Äڵ带 °í·ÁÇØ º¸½Ê½Ã¿À.
public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {
// ÀϺΠÄÚµå..... final ServletOutputStream outStream = response.getOutputStream(); //... ÀÌÈÄ·Î response.flushBuffer¿¡ ´ëÇÑ È£ÃâÀÌ ¾ø½À´Ï´Ù. }
ÀÌ ¶§ »ç¿ëÀÚ°¡ ÀÛ¼ºÇÏ´Â ±ÔÄ¢Àº "Always call ServletResponse.flushBuffer() after ServletResponse.getOutputStream()"ÀÔ´Ï´Ù. ÀÀ´ä ¿ÀºêÁ§Æ®°¡ Servlet ÀÚüº¸´Ù Å« ¶óÀÌÇÁ»çÀÌŬÀ» °¡Áö´Â ÀνºÅϽºÀ̹ǷΠÄÚµå °ËÅä ºÐ¼®¿¡¼ ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇöÀç Servlet ¹®Á¦ÀÇ ´ë»óÀÌ µÇ´Â ´Ù¸¥ Servlet¿¡¼ ÀϺΠ¹ß°ß °á°ú¸¦ º¼ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ Æ¯Á¤ ¿ÀºêÁ§Æ® ÀνºÅϽº¿¡ ´ëÇØ ±ÔÄ¢À» ÀÛ¼ºÇÏ¸é ¹®Á¦°¡ ¹ß»ýÇÕ´Ï´Ù.
±ÔÄ¢ ÅÛÇø®Æ® "Avoid Defining Method"¸¦ »ç¿ëÇÏ¿© »õ ±ÔÄ¢À» ÀÛ¼ºÇÏ°í ¿ÏÀüÇÑ À̸§À¸·Î ¸Þ¼Òµå¸¦ ¼±ÅÃÇÒ °æ¿ì, ÄÚµå °ËÅä ½Ã ¸Þ¼Òµå ¹× ¸Å°³º¯¼öÀÇ À̸§¸¸ »ç¿ëµË´Ï´Ù. ±ÔÄ¢ ÅÛÇø®Æ®´Â ¸Þ¼Òµå ¼¸í¿¡¸¸ ÃÊÁ¡À» ¸ÂÃ߹ǷÎ, ÆÐŰÁö¿Í Ŭ·¡½º À̸§ Á¤º¸´Â Àǹ̰¡ ¾ø½À´Ï´Ù.
Á¦°øÇÑ ±ÔÄ¢ ÅÛÇø®Æ®¿¡¼ »õ ±ÔÄ¢À» ÀÛ¼ºÇÒ °æ¿ì, ¸Þ¼Òµå À̸§À» ÀÔ·ÂÇÏÁö ¸¶½Ê½Ã¿À. ºê¶ó¿ìÀú¸¦ »ç¿ëÇÏ¿© ¸Þ¼Òµå¸¦ ¼±ÅÃÇϽʽÿÀ.
¼¹ö µ¥ÀÌÅ͸¦ ±¸¼ºÇÒ ¶§ Áß¿ä ¿À·ù âÀÌ Ç¥½ÃµÉ °æ¿ì, .java ÆÄÀÏ °ü·Ã ÆäÀÌÁö(ÆäÀÌÁö ÄÚµå)¸¦ ´Ý°í µ¥ÀÌÅÍ ±¸¼ºÀ» ´Ù½Ã ½ÃµµÇϽʽÿÀ.
LinuxÀÇ °æ¿ì, ȯ°æ ¼³Á¤ ÆäÀÌÁöÀÇ ¼±ÅÃÇÑ ÄÚµå °ËÅä¿¡ ¸¹Àº ±ÔÄ¢ÀÌ Æ÷ÇÔµÇ¸é ±ÔÄ¢ Ä«Å×°í¸®¿Í ±ÔÄ¢ ¼¼ºÎ»çÇ×À» ¸ðµÎ º¸Áö ¸øÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÇØ°áÃ¥Àº ȯ°æ ¼³Á¤ ÆäÀÌÁö¿¡¼ ºü¸¥ ÄÚµå °ËÅ並 ¼±ÅÃÇϰí ȯ°æ ¼³Á¤ ÆäÀÌÁö¸¦ ´ÝÀº ÈÄ ´Ù½Ã ¿©´Â °ÍÀÔ´Ï´Ù. ±×·¯¸é ÄÚµå °ËÅä°¡ ¿Ã¹Ù¸£°Ô Ç¥½ÃµË´Ï´Ù.