Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÁÄÁÄclean code
 
  À´Ô´£ºÃÀÍŵãÆÀ¼¼ÊõÍŶӠ ·¢²¼ÓÚ£º 2017-2-7
  2809  次浏览      28
 

clean code£¬¹ËÃû˼Òå¾ÍÊÇÕû½àµÄ´úÂ룬»òÕß˵ÇåÎú¡¢Æ¯ÁÁµÄ´úÂ룬ÏàÐÅ´ó¶àÊý¹¤³Ìʦ¶¼Ï£Íû×Ô¼ºÄÜд³öÕâÑùµÄ´úÂë¡£

Ò²ÐíÕâÊǸöǧÈËÇ§ÃæµÄ»°Ì⣬ÿ¸ö¹¤³Ìʦ¶¼ÓÐ×Ô¼ºµÄÀí½â¡£±ÈÈçÎÒ£¬´ÓÒ»¸öÌìÌì±»Âî´úÂëдµÃÀõÄÈË£¬Öð½¥Ñ§Ï°³É³¤£¬µ½ÏÖÔÚÒ²ÄÜдµÄ³ö¡°ÈËÄ£ÈËÑù¡±µÄ´úÂëÀ´ÁË¡£ÕâÆÚ¼äËãÊÇ»ýÀÛÁËÒ»µã¾­ÑéÐĵã¬ÏëºÍ´ó¼Ò·ÖÏí£¬Å×שÒýÓñ¡£

±¾ÎÄÖ÷ÒªÕë¶ÔÃæÏò¶ÔÏó±à³ÌµÄclean codeÀ´²ûÊö£¬ÃæÏò¹ý³Ì´úÂëµÄ˼·»á±È½Ï²»Í¬£¬²»ÔÚ±¾ÎĵÄÌÖÂÛ·¶³ë¡£

´úÂëÕû½àµÄ´óǰÌá

´úÂë´ó²¿·ÖʱºòÊÇÓÃÀ´Î¬»¤µÄ£¬¶ø²»ÊÇÓÃÀ´ÊµÏÖ¹¦ÄܵÄ

Õâ¸öÔ­ÔòÊÊÓÃÓڴ󲿷ֵŤ³Ì¡£ÎÒÃǵĴúÂ룬һ·½ÃæÊDZàÒëºÃÈûúÆ÷Ö´ÐУ¬Íê³É¹¦ÄÜÐèÇó£»ÁíÒ»·½Ã棬ÊÇд¸øÉí±ßµÄ¶ÓÓѺÍ×Ô¼º¿´µÄ£¬ÐèÒª³¤ÆÚά»¤£¬¶øÇҴ󲿷ÖÏîÄ¿¶¼²»Êdz¯ÉúϦËÀµÄ¶ÌÃü¹í¡£

´ó²¿·ÖÇé¿öÏ£¬Èç¹û²»ÄÜд³öÇåÎúºÃ¿´µÄ´úÂ룬¿ÉÄÜ×Ô¼ºÒ»Ê±Ë¬¿ì£¬ºóÐøÎ¬»¤¸¶³öµÄ´ú¼ÛºÍ³É±¾½«Ô¶¸ßÓÚÄãµÄÏëÏó¡£

¶ÔÇåÎúºÃ¿´´úÂëµÄ×·Çó¾«Éñ£¬±ÈËùÓеļ¼Çɶ¼ÒªÖØÒª¡£

ÓÅÐãµÄ´úÂë´ó²¿·ÖÊÇ¿ÉÒÔ×ÔÃèÊöµÄ£¬ºÃÓÚÎĵµºÍ×¢ÊÍ

µ±Äã·­¿´ºÜ¶à¿ªÔ´´úÂëʱ£¬»á·¢ÏÖ×¢ÊÍÉõÖÁ±ÈÎÒÃÇ×Ô¼ºÐ´µÄÏîÄ¿¶¼ÉÙ£¬µ«ÊÇÈ´ÄÜ¿´µÄºÜÊæ·þ¡£µ±¶ÁÍêÔ´Âëʱ£¬ºÜ¶à¹¦ÄÜÉè¼Æ¾Í¶¼ÇåÎúÃ÷ÁËÁË¡£Í¨¹ý×ÐϸÕå×õķ½·¨ÃüÃû¡¢ÇåÎúµÄÁ÷³Ì¿ØÖÆ£¬´úÂë±¾Éí¾Í¿ÉÒÔÄóöÀ´µ±×÷ÎĵµÊ¹Ó㬶øÇÒËüÓÀÔ¶²»»á¹ýÆÚ¡£

Ïà·´£¬×¢ÊͲ»ÄÜÈÃдµÄÀõĴúÂë±äµÄ¸üºÃ¡£Èç¹û±ðÈËÖ»ÄÜÒÀ¿¿×¢ÊͶÁ¶®ÄãµÄ´úÂëµÄʱºò£¬ÄãÒ»¶¨Òª·´Ë¼´úÂë³öÏÖÁËʲôÎÊÌ⣨µ±È»£¬ÕâÀï²»ÊÇ˵´ó¼Ò²»ÒªÐ´×¢ÊÍÁË£©¡£

˵ϱȽÏÊʺÏдעÊ͵ÄÁ½ÖÖ³¡¾°£º

public interface£¬Ïò±ðÈËÃ÷È··¢²¼Ä㹦ÄܵÄÓïÒ壬ÊäÈëÊä³ö£¬ÇÒ²»ÐèÒª¹Ø×¢ÊµÏÖ¡£

¹¦ÄÜÈÝÒ×ÓÐÆçÒåµÄµã£¬»òÕßÉæ¼°±È½ÏÉî²ãרҵ֪ʶµÄʱºò¡£±ÈÈ磬Èç¹ûÄãдһ¸ö¿Í»§¶Ë£¬¸÷ÖÖconfig²ÎÊýµÄº¬ÒåµÈ¡£

Éè¼ÆÄ£Ê½Ö»ÊÇÊֶΣ¬´úÂëÇåÎú²ÅÊÇÄ¿µÄ

֮ǰ¼û¹ýһЩËùν¡°¸ßÊÖ¡±µÄ´úÂë¶¼±È½Ï³éÏ󣬸÷ÖÖ¹¤³§¡¢¸÷Öּ̳С£ÏëÕÒµ½Ò»¸öʵÏÖ×ÜÊÇҪɽ·ʮ°ËÍ䣬һ¸ö¹¤³ÌÀï´ó²¿·ÖµÄÀàÊdzéÏóÀà»òÕß½Ó¿Ú£¬ÕÒ²»µ½Ò»Á½¾äʵÏֵĴúÂ룬Õû¸ö¶ÁÆð´úÂëÀ´ºÜ²»Ë³³©¡£ÎÒ¸úËûÁÄÆðÀ´µÄʱºò£¬ËûµÄÖ÷ÒªÁ¢³¡ÊÇ£º±£ÁôºÏÊʵÄÀ©Õ¹µã£¬¿Ë·þµôËùÓеÄÓ²±àÂë¡£

ÆäʵÔÚÎÒ¿´À´£¬Ò²ÐíËûµÄ´úÂë±»¡°¹ý¶ÈÉè¼Æ¡±ÁË¡£Ê×ÏȱØÐëÒª³ÐÈϵÄÊÇ£¬ÔÚͬһ¸ö¹«Ë¾¹¤×÷µÄͬÊ£¬Ë®Æ½ÊDzβÆëµÄ¡£ÎÞÂÛÄãÓÃÁËÈçºÎ¸ß´óÉϵÄÉè¼Æ£¬Èç¹û´ó¶àÊýÈ˶¼²»ÄÜÀí½âÄãµÄ´úÂë»òÕß¶ÁÆðÀ´ºÜ·Ñ¾¢µÄ»°£¬ÆäʵÕâÊÇÒ»¸öʧ°ÜµÄÉè¼Æ¡£

µ±ÄãµÄϵͳÄڴ󲿷ֳéÏóÖ»ÓÐÒ»¸öʵÏÖµÄʱºò£¬ÒªºÃºÃ˼¿¼Ò»Ï£¬ÊDz»ÊÇÉè¼ÆÓеã¹ý¶ÈÁË£¬ÇåÎúÓÀÔ¶ÊǵÚÒ»×¼Ôò¡£

´úÂëÕû½àµÄ³£¼ûÊÖ¶Î

¼ÇסԭÔòºó£¬ÎÒÃÇ¿ªÊ¼½øÈëʵ¼ù»·½Ú£¬ÏÈÀ´¿´ÏÂÓÐÄÄЩ´Ù³Éclean codeµÄ³£¼ûÊֶΡ£

code review

ºÜ¶à´ó¹«Ë¾»áÓÃgitµÄpull request»úÖÆÀ´×öcode review¡£ÎÒÃÇÖØµãÓ¦¸Ãreviewʲô£¿ÊÇ´úÂëµÄ¸ñʽ¡¢ÒµÎñÂß¼­»¹ÊÇ´úÂë·ç¸ñ£¿ÎÒÏë˵µÄÊÇ£¬·²ÊÇÄÜͨ¹ý»úÆ÷¼ì²é³öÀ´µÄÊÂÇ飬ÎÞÐèͨ¹ýÈË¡£±ÈÈç»»ÐС¢×¢ÊÍ¡¢·½·¨³¤¶È¡¢´úÂëÖØ¸´µÈ¡£³ýÁË»ù±¾¹¦ÄÜÐèÇóµÄÂß¼­ºÏÀíûÓÐbugÍ⣬ÎÒÃǸüÓ¦¸Ã¹Ø×¢´úÂëµÄÉè¼ÆÓë·ç¸ñ¡£±ÈÈ磬һ¶Î¹¦ÄÜÊDz»ÊÇÓ¦¸ÃÊôÓÚÒ»¸öÀà¡¢ÊDz»ÊÇÓкܶàÏàËÆµÄ¹¦ÄÜ¿ÉÒÔ³éÈ¡³öÀ´¸´ÓᢴúÂëÌ«¹ýÈß³¤ÄѶ®µÈµÈ¡£

ÎÒ¸öÈ˷dz£ÍƳ缯Ìåcode review£¬ÒòΪºÜ¶àʱºò£¬×éÀïÏà¶Ô¸ß¼¶µÄ¹¤³ÌʦÄܹ»Ò»ÑÛ·¢ÏÖ´úÂë´æÔڽϴóÉè¼ÆÈ±ÏÝ£¬Ìá³ö¸Ä½øÒâ¼û»òÕßÖØ¹¹·½Ê½¡£ÎÒÃÇ¿ÉÒÔÔÚÕû¸öС×éÄÚÐγÉÒ»¸öºÃµÄÎÄ»¯´«³ÐºÍ·ç¸ñͳһ£¬²¢ÇҺܴó³Ì¶ÈÉÏÅàÑøÁË´ó¼Ò¶Ôclean codeµÄÈÈÇé¡£

ÇÚÓÚÖØ¹¹

ºÃµÄ´úÂ룬һ°ã¶¼²»ÊÇÒ»´é¶ø¾ÍµÄ¡£¼´Ê¹Ò»¿ªÊ¼Éè¼ÆµÄ´úÂë·Ç³£ÓÅÐã£¬Ëæ×ÅÒµÎñµÄ¿ìËÙµü´ú£¬Ò²¿ÉÄܱ»¸ÄµÄÃæÄ¿È«·Ç¡£

ΪÁ˱ÜÃâÖØ¹¹´øÀ´µÄ¸ºÃæÓ°Ï죨delayÐèÇó»òÕß´øÀ´bug£©£¬ÎÒÃÇÐèÒª×öºÃÒÔÏµĹ¦¿Î£º

¢Ù ÕÆÎÕһЩ³£¼ûµÄ¡°ÎÞÍ´¡±Öع¹¼¼ÇÉ£¬ÕâÔÚÏÂÎÄ»áÓоßÌå½²½â¡£

¢Ú С²½¿ìÅÜ£¬²»ÒªÆóͼһ¿Ú³Ô³É¸öÅÖ×Ó¡£¸ÄÒ»µã£¬²âÊÔÒ»µã£¬Ò»·½Ãæ¼õÉÙ´úÂëmergeµÄÍ´¿à£¬ÁíÒ»·½Ãæ¼õÉÙÉÏÏߵķçÏÕ¡£

¢Û ½¨Á¢×Ô¶¯»¯²âÊÔ»úÖÆ£¬Òª×öµ½¼´Ê¹´úÂë¸Ä»µÁË£¬Ò²Äܱ£Ö¤ÏµÍ³×îСºËÐŦÄܵĿÉÓ㬲¢ÇÒ±£Ö¤×Ô¼ºÐ޸ĵIJ¿·Ö±»²âÊÔ¸²¸Çµ½¡£

¢Ü ÊìÁ·ÕÆÎÕIDEµÄ×Ô¶¯Öع¹¹¦ÄÜ¡£ÕâЩ»áºÜ´ó³Ì¶ÈÉϼõÉÙÎÒÃǵÄÌåÁ¦ÀͶ¯£¬±ÜÃâ·¸´í¡£

¾²Ì¬¼ì²é

ÏÖÔÚÊÐÃæÉÏÓкܶà´úÂ뾲̬¼ì²éµÄ¹¤¾ß£¬Ò²ÊÇ·¢ÏÖbugºÍ·ç¸ñ²»ºÃµÄ±È½ÏÈÝÒ׵ķ½Ê½¡£¿ÉÒÔÓë·¢²¼ÏµÍ³×ö¼¯³É£¬Ç¿ÖưÑÖ÷ÒªÎÊÌâÐÞ¸´µô²Å¿ÉÒÔÉÏÏß¡£Ä¿Ç°ÃÀÍŵãÆÀ¼¼ÊõÍŶÓÄÚ²¿µÄÑз¢Á÷³ÌÖÐÒѾ­ÆÕ±é½ÓÈëÁËSonarÖÊÁ¿¹ÜÀíÆ½Ì¨¡£

¶à¶Á¿ªÔ´´úÂëºÍÉí±ßÓÅÐãͬѧµÄ´úÂë

¸Ðл¿ªÔ´ÉçÇø£¬ÎªÎÒÃÇÌṩÁËÕâôºÃµÄѧϰ»ú»á¡£ÎÞÂÛÊÇJDKµÄÔ´Â룬»¹ÊǾ­µäµÄNetty¡¢Spring¡¢Jetty£¬»¹ÊÇһЩС¹¤¾ßÈçGuavaµÈ£¬¶¼ÊÇclean codeµÄµä·¶¡£¶à¶àѧϰ£¬¶à¶à·´Ë¼ºÍ×ܽᣬ±ØÓÐÊÕÒæ¡£

´úÂëÕû½àµÄ³£¼û¼¼ÇÉ

Ç°ÃæµÄÄÚÈݶ¼ÊôÓÚÈÈÉí£¬Èôó¼ÒÓиöÕûÌåºê¹ÛµÄÈÏʶ¡£ÏÂÃæÖÕÓÚ½øÈë¸É»õ»·½ÚÁË£¬ÎÒ»á·Ö¼¸¸ö½Ç¶È½²½â±àдÕû½à´úÂëµÄ³£¼û¼¼ÇɺÍÎóÇø¡£

ͨÓü¼ÇÉ

µ¥Ò»Ö°Ôð

ÕâÊÇÕû½à´úÂëµÄ×îÖØÒªÒ²ÊÇ×î»ù±¾µÄÔ­ÔòÁË¡£¼òµ¥À´½²£¬´óµ½Ò»¸ömodule¡¢Ò»¸öpackage£¬Ð¡µ½Ò»¸öclass¡¢Ò»¸ömethodÄËÖÁÒ»¸öÊôÐÔ£¬¶¼Ó¦¸Ã³ÐÔØÒ»¸öÃ÷È·µÄÖ°Ôð¡£Òª¶¨ÒåµÄ¶«Î÷£¬Èç¹û²»ÄÜÓÃÒ»¾ä»°ÃèÊöÇå³þÖ°Ô𣬾ͰÑËü²ðµô¡£

ÎÒÃÇÆ½Ê±Ð´´úÂëʱ£¬×îÈÝÒ×·¸µÄ´íÎóÊÇ£ºÒ»¸ö·½·¨¸ÉÁ˺ü¸¼þÊ»òÕßÒ»¸öÀà³ÐÔØÁËÐí¶à¹¦ÄÜ¡£

ÏÈÀ´ÁÄÁÄ·½·¨µÄÎÊÌâ¡£¸öÈ˷dz£Ö÷ÕŰѷ½·¨²ðϸ£¬ÕâÊǸ´ÓõĻù´¡¡£Èç¹û·½·¨¸ÉÁËÁ½¼þÊÂÇ飬ºÜÓпÉÄÜÆäÖÐÒ»¸ö¹¦ÄܵįäËûÒµÎñÓвî±ð¾Í²»ºÃÖØÓÃÁË¡£ÁíÍâÓïÒåÒ²ÊDz»Ã÷È·µÄ¡£¾­³£¿´µ½Ò»¸öget()·½·¨ÀïÃæ¾¹È»ÐÞ¸ÄÁËÊý¾Ý£¬ÕâÈÃʹÓÃÄã·½·¨µÄÈËÇéºÎÒÔ¿°£¿Èç¹û²»µã½øÈ¥¿´¿´ÊµÏÖ£¬¿ÉÄܾÍÈóÌÐòÏÝÈëbug£¬ÈòâÊÔÏÝÈëÂé·³¡£

ÔÙÀ´ÁÄÁÄÀàµÄÎÊÌâ¡£ÎÒÃǾ­³£»á¿´µ½¡°ÓÖ³ôÓÖ³¤¡±µÄservice/biz²ãµÄ´úÂ룬ÀïÃæÓм¸Ê®¸ö·½·¨£¬¸ÉʲôµÄ¶¼ÓУº¼ÈÓÐÔöɾ¸Ä²é£¬ÓÖÓÐÒµÎñÂß¼­µÄ¾ÛºÏ¡£Ã¿´ÎÕÒµ½Ò»¸ö·½·¨¶¼·Ñ¾¢¡£²»ÊôÓÚÒ»¸öÁìÓò»òÕßÒ»¸ö²ã´ÎµÄ¹¦ÄÜ£¬¾Í²»Òª·Åµ½Ò»Æð¡£

ÎÒÃÇteamÔÚcode reviewÖУ¬×î³£±»ÅúÆÀµÄÎÊÌ⣬¾ÍÊÇÒ»¸ö·½·¨Ó¦¸Ã¹éÊôÓÚÄĸöÀà¡£

ÓÅÏȶ¨ÒåÕûÌå¿ò¼Ü

ÎÒд´úÂëµÄʱºò£¬±È½Ïϲ»¶ÏÈÈ¥¶¨ÒåÕûÌåµÄ¿ò¼Ü£¬¾ÍÊÇдºÜ¶à¿ÕʵÏÖ£¬À´°ÑÕûÌåµÄÒµÎñÁ÷³Ì´©ÆðÀ´¡£Á¼ºÃµÄ·½·¨Ç©Ãû£¬ÓÃÈë²ÎºÍ³ö²ÎÀ´¿ØÖÆÁ÷³Ì¡£ÕâÑùÄܹ»±ÜÃâÏÝÈëÒµÎñϸ½ÚÎÞ·¨×԰Ρ£ÔÚÄÔº£ÖÐÏȶ¨ÒåÇå³þÁ÷³ÌµÄ¼¸¸ö½×¶Î£¬²¢ÎªÃ¿¸ö½×¶ÎÕÒµ½ºÏÊʵķ½·¨£¯Àà¹éÊô¡£

ÕâÑù×öµÄºÃ´¦ÊÇ£¬ÔĶÁÄã´úÂëµÄÈË£¬ÎÞÂÛ¶Áµ½Ê²Ã´Éî¶È£¬¶¼¿ÉÒÔÇåÎúµØÁ˽âÿһ²ãµÄÖ°ÄÜ£¬Èç¹û²»careÏÂÒ»²ãµÄʵÏÖ£¬ÍêÈ«¿ÉÒÔÌø¹ý²»¿´£¬²¢ÇÒ·½·¨µÄÁ£¶ÈÒ²»áÇ¡µ½ºÃ´¦¡£

¼ò¶øÑÔÖ®£¬ÎұȽÏÍÆ³çд´úÂëµÄʱºò¡°¹ã¶ÈÓÅÏÈ¡±¶ø²»ÊÇ¡°Éî¶ÈÓÅÏÈ¡±£¬ÕâºÍÎÒ¶Á´úÂëµÄ·½Ê½ÊÇÒ»Öµġ£µ±È»£¬Õâ¼þÊÂÇé¸ú¸öÈ˵Ä˼άϰ¹ßÓÐÒ»¶¨µÄ¹ØÏµ£¬¿ÉÄܶԳéÏó˼άÄÜÁ¦ÒªÇó»á¸ü¸ßһЩ¡£Èç¹û¿ªÊ¼Ð´´úÂëµÄʱºòÕâЩ²»¹»ÇåÎú£¬ÆðÂëҪͨ¹ý²»¶ÏµØÖع¹£¬Ê¹´úÂë´ïµ½ÕâÑùµÄ³ÉÉ«¡£

ÇåÎúµÄÃüÃû

ÀÏÉú³£Ì¸µÄ»°Ì⣬ÕâÀï²»Õ¹¿ª½²ÁË£¬µ«ÊDZØÐëÒªmarkһϡ£ÓеÄʱºò£¬ÎÒ˼¿¼Ò»¸ö·½·¨ÃüÃûµÄʱ¼ä£¬±Èдһ¶Î´úÂëµÄʱ¼ä»¹³¤¡£Ô­Òò»¹ÊÇÄǸöÂß¼­£ºÃ¿µ±Äãд³öÒ»¸öÀàËÆÓÚ"temp"¡¢"a"¡¢"b"ÕâÑù±äÁ¿µÄʱºò£¬ºóÃæÃ¿Ò»¸öά»¤´úÂëµÄÈË£¬¶¼ÐèÒªÓü¸±¶µÄ¾«Á¦²ÅÄÜÀí˳¡£

²¢ÇÒÕâÒ²ÊÇ´úÂë×ÔÃèÊö×îÖØÒªµÄ»ù´¡¡£

±ÜÃâ¹ý³¤²ÎÊý

Èç¹ûÒ»¸ö·½·¨µÄ²ÎÊý³¤¶È³¬¹ý4¸ö£¬¾ÍÐèÒª¾¯ÌèÁË¡£Ò»·½Ã棬ûÓÐÈËÄܹ»¼ÇµÃÇå³þÕâЩº¯ÊýµÄÓïÒ壻ÁíÒ»·½Ã棬´úÂëµÄ¿É¶ÁÐÔ»áºÜ²î£»×îºó£¬Èç¹û²ÎÊý·Ç³£¶à£¬Òâζ×ÅÒ»¶¨Óкܶà²ÎÊý£¬Ôںܶೡ¾°Ï£¬ÊÇûÓÐÓõģ¬ÎÒÃÇÖ»Äܹ¹ÔìĬÈÏÖµµÄ·½Ê½À´´«µÝ¡£

½â¾öÕâ¸öÎÊÌâµÄ·½·¨ºÜ¼òµ¥£¬Ò»°ãÇé¿öÏÂÎÒÃǻṹÔìparamObject¡£ÓÃÒ»¸östruct»òÕßÒ»¸öclassÀ´³ÐÔØÊý¾Ý£¬Ò»°ãÕâÖÖ¶ÔÏóÊÇvalue object£¬²»¿É±ä¶ÔÏó¡£ÕâÑù£¬Äܼ«´ó³Ì¶ÈÌá¸ß´úÂëµÄ¿É¸´ÓÃÐԺͿɶÁÐÔ¡£ÔÚ±ØÒªµÄʱºò£¬ÌṩºÏÊʵÄbuild·½·¨£¬À´¼ò»¯Éϲã´úÂëµÄ¿ª·¢³É±¾¡£

±ÜÃâ¹ý³¤·½·¨ºÍÀà

Ò»¸öÀà»òÕß·½·¨¹ý³¤µÄʱºò£¬¶ÁÕß×ÜÊǺܱÀÀ£µÄ¡£¼òµ¥µØ°Ñ·½·¨¡¢ÀàºÍÖ°Ôð²ðϸ£¬ÍùÍù»áÓÐÁ¢¸Í¼ûÓ°µÄ³ÉЧ¡£ÒÔÀàΪÀý£¬²ð·ÖµÄά¶ÈÓкܶ࣬³£¼ûµÄÊǺáÏò£¯×ÝÏò¡£ÀýÈ磬Èç¹ûÒ»¸öservice£¬´¦ÀíµÄÊǸúÒ»¸ö¿â±í¶ÔÏóÏà¹ØµÄËùÓÐÂß¼­£¬ºáÏò²ð·Ö¾ÍÊǸù¾ÝÒµÎñ£¬°Ñ½¨Á¢£¯¸üУ¯Ð޸ģ¯Í¨ÖªµÈÂß¼­²ðµ½²»Í¬µÄÀàÀïÈ¥£»¶ø×ÝÏò²ð·Ö£¬Ö¸µÄÊÇ

°ÑÊý¾Ý¿â²Ù×÷/MQ²Ù×÷/Cache²Ù×÷/¶ÔÏóУÑéµÈ£¬²ðµ½²»Í¬µÄ¶ÔÏóÀïÈ¥£¬ÈÃÖ÷Á÷³Ì¾¡Á¿¼òµ¥¿É¿Ø£¬ÈÃͬһ¸öÀ࣬±í´ï¾¡Á¿Í¬Ò»¸öά¶ÈµÄ¶«Î÷¡£

ÈÃÏàͬ³¤¶ÈµÄ´úÂë¶Î±íʾÏàͬÁ£¶ÈµÄÂß¼­

ÕâÀïÏë±í´ïµÄÊÇ£¬¾¡Á¿¶àµØÈ¥³éÈ¡private·½·¨£¬ÈôúÂë¾ßÓÐ×ÔÃèÊöµÄÄÜÁ¦¡£¾Ù¸ö¼òµ¥µÄÀý×Ó

public void doSomeThing(Map params1,Map params2){
Do1 do1 = getDo1(params1);
Do2 do2 = new Do2();
do2.setA(params2.get("a"));
do2.setB(params2.get("b"));
do2.setC(params2.get("c"));
mergeDO(do1,do2);
}
private void getDo1(Map params1);
private void mergeDo(do1,do2){...};

ÀàËÆÕâÖÖ´úÂ룬ÔÚÒµÎñ´úÂëÖÐËæ´¦¿É¼û¡£»ñÈ¡do1ÊÇÒ»¸ö·½·¨£¬mergeÊÇÒ»¸ö·½·¨£¬µ«»ñÈ¡do2µÄ´úÂëÈ´ÔÚÖ÷Á÷³ÌÀïдÁË¡£ÕâÖÖ´úÂ룬Á÷³ÌÔ½³¤£¬¶ÁÆðÀ´Ô½ÀÛ¡£ºÜ¶àÈ˶Á´úÂëµÄÂß¼­£¬ÊÇ¡°¹ã¶ÈÓÅÏÈ¡±µÄ¡£ÏȶÁ¶®Ö÷Á÷³Ì£¬ÔÙÈ¥¿´Ï¸½Ú¡£ÀàËÆÕâÖÖ´úÂ룬Èç¹ûÄܹ»°Ñ¹¹Ôìdo2µÄ´úÂ룬Ìáȡһ¸öprivate ·½·¨£¬¾Í»áÊæ·þºÜ¶à¡£

ÃæÏò¶ÔÏóÉè¼Æ¼¼ÇÉ

ƶѪÓëÁìÓòÇý¶¯

²»µÃ²»³ÐÈÏ£¬SpringÒѾ­³ÉΪÆóÒµ¼¶Java¿ª·¢µÄÊÂʵ±ê×¼¡£¶ø´ó²¿·Ö¹«Ë¾²ÉÓõÄÈý²ã/ËÄ²ãÆ¶ÑªÄ£ÐÍ£¬ÒѾ­ÈÃÎÒÃǵıàÂëϰ¹ß£¬±ä³ÉÁËÃæÏòDAO¶ø²»ÊÇÃæÏò¶ÔÏó¡£

ȱÉÙÁ˱ØÒªµÄÄ£ÐͳéÏóºÍÉè¼Æ»·½Ú£¬Ê¹µÃ´úÂëÈß³¤£¬¸´Óó̶ȱȽϲÿ´Îߣ´úÂëµÄʱºò£¬´ÓmapperߣÆð£¬ºÃÏñÒѾ­³ÉΪ²»³ÉÎĵĹ淶¡£

ºÃ´¦ÊÇÉÏÊÖ¼òµ¥£¬Ñ§Ï°³É±¾µÍ¡£µ«ÊÇÿ´Î¶¼²»ÄÜÖØÓã¬È»ºóÃæ¶ÔÁ½ÈýǧÐеÄÀà¿´×ÅÑÛ»¨µÄʱºò£¬ÎÒµÄÐÄÊǺÜÍ´µÄ¡£¹ØÓÚÁìÓòÇý¶¯µÄÉè¼ÆÄ£Ê½£¬±¾ÎIJ»»áÕ¹¿ªÈ¥½²¡£»Ø¹éÃæÏò¶ÔÏ󣬻¹ÊǸú´ó¼ÒshareһЩ±È½ÏºÃµÄcode¼¼ÇÉ£¬Äܹ»ÔÚÒ»¸öͨÓõĿò¼ÜÏ£¬¾¡Á¿ºÃµÄд³öƯÁÁ¿ÉÖØÓõÄcode¡£

¸öÈËÈÏΪ£¬Ò»¸öºÃµÄϵͳ£¬Ò»¶¨Àë²»¿ªÒ»Ì׺õÄÄ£ÐͶ¨Òå¡£ÊáÀíÇå³þϵͳÖеĺËÐÄÄ£ÐÍ£¬Çå³þµÄ¶¨Òåÿ¸ö·½·¨µÄÀà¹éÊô£¬ÎÞÂÛ¶ÔÓÚ´úÂëµÄ¿É¶ÁÐÔ¡¢¿É½»Á÷ÐÔ£¬»¹ÊǺͲúÆ·µÄ¹µÍ¨£¬¶¼ÊÇÓÐĪ´óºÃ´¦µÄ¡£

Ϊÿ¸ö·½·¨ÕÒµ½ºÏÊʵÄÀà¹éÊô£¬Êý¾ÝºÍÐÐΪ¾¡Á¿ÒªÔÚÒ»Æð

Èç¹ûÒ»¸öÀàµÄËùÓз½·¨£¬¶¼ÊÇÔÚ²Ù×÷ÁíÒ»¸öÀàµÄ¶ÔÏó¡£Õâʱºò¾ÍÒª×ÐϸÏëÒ»ÏëÀàµÄÉè¼ÆÊÇ·ñºÏÀíÁË¡£ÀíÂÛÉϽ²£¬ÃæÏò¶ÔÏóµÄÉè¼Æ£¬Ö÷ÕÅÊý¾ÝºÍÐÐΪÔÚÒ»Æð¡£ÕâÑù£¬¶ÔÏóÖ®¼äµÄ½á¹¹²ÅÊÇÇåÎúµÄ£¬Ò²ÄܼõÉٺܶ಻±ØÒªµÄ²ÎÊý´«µÝ¡£

²»¹ýÕâÀïÃæÓÐÒ»¸öÒªÌÖÂ۵ķ½·¨£ºservice¶ÔÏó¡£Èç¹û²Ù×÷Ò»¸ö¶ÔÏóÊý¾ÝµÄËùÓз½·¨¶¼½¨Á¢ÔÚ¶ÔÏóÄÚ²¿£¬¿ÉÄÜʹ¶ÔÏó³ÐÔØÁ˺ܶಢ²»ÊôÓÚËü±¾ÉíÖ°Äܵķ½·¨¡£

ÀýÈ磬ÎÒ¶¨ÒåÒ»¸öÀ࣬½Ð×öperson£¬¡£Õâ¸öÀàÓкܶàÐÐΪ£¬±ÈÈ磺³Ô·¹¡¢Ë¯¾õ¡¢ÉϲÞËù¡¢Éúº¢×Ó£»Ò²Óкܶà×ֶΣ¬±ÈÈ磺ÐÕÃû¡¢ÄêÁä¡¢ÐÔ¸ñ¡£

ºÜÃ÷ÏÔ£¬×ֶδӸü´ó³Ì¶ÈÉÏÀ´½²£¬ÊǶ¨ÒåºÍÃèÊöÎÒÕâ¸öÈ˵쬵«ºÜ¶àÐÐΪºÍÎÒµÄ×ֶβ¢²»Ïà¹Ø¡£ÉϲÞËùµÄʱºòÊDz»»á¹ØÐÄÎÒÊǼ¸ËêµÄ¡£Èç¹û°ÑËùÓйØÓÚÈ˵ÄÐÐΪȫ²¿ÔÚpersonÄÚ²¿³ÐÔØ£¬Õâ¸öÀàÒ»¶¨»áÅòÕ͵IJ»ÐС£

Õâʱºò¾ÍÌåÏÖÁËservice·½·¨µÄ¼ÛÖµ£¬Èç¹ûÒ»¸öÐÐΪ£¬ÎÞ·¨Ã÷È·ÊôÓÚÄĸöÁìÓò¶ÔÏó£¬Ç£Ç¿µØÈÚÈëÁìÓò¶ÔÏóÀ»áÏԵúܲ»×ÔÈ»¡£Õâʱºò£¬ÎÞ״̬µÄservice¿ÉÒÔ·¢»Ó³öËüµÄ×÷Óᣵ«Ò»¶¨Òª°ÑÎÕºÃÕâ¸ö¶È£¬»Ø¹é±¾ÖÊ£¬ÎÒÃÇÒª°ÑÊôÓÚÿ¸öÄ£Ð͵ÄÐÐΪºÏÀíµÄÈ¥»®¶¨¹éÊô¡£

¾¯Ìèstatic

static·½·¨£¬±¾ÖÊÉÏÀ´½²ÊÇÃæÏò¹ý³ÌµÄ£¬ÎÞ·¨ÇåÎúµØ·´À¡¶ÔÏóÖ®¼äµÄ¹ØÏµ¡£ËäÈ»ÓÐһЩ´úÂëʵÀý£¨×Ô¼ºÊµÏÖµ¥Àý»òÕßSpringÍйܵȣ©µÄÎÞ״̬·½·¨¿ÉÒÔÓÃstaticÀ´±íʾ£¬µ«ÕâÖÖ³éÏóÊÇdz²ã´ÎµÄ¡£Ëµ°×ÁË£¬Èç¹ûÎÒÃÇËùÓе÷ÓÃstaticµÄµØ·½£¬¶¼Ð´ÉÏimport static£¬ÄÇôËùÓеŦÄܾÍÓÉÀà×Ô¼ºÔÚ³ÐÔØÁË¡£

ÈÃÎÒ»­Ò»¸öÀàͼ£¿ÞÏÞÎÁË¡­¡­»­²»³öÀ´¡£

¶øµ¥ÀýµÄÅòÕÍ£¬ºÜ´ó³Ì¶ÈÉÏÒ²ÊÇÆ¶ÑªÄ£ÐÍ´øÀ´µÄ¸±×÷Óá£Èç¹û¶ÔÏó±¾ÉíÓÐѪÓÐÈ⣬¾Í²»ÐèÒªÕâô¶àÎÞ״̬·½·¨¡£

staticÕæÕýÊÊÓõij¡¾°£º¹¤¾ß·½·¨£¬¶ø²»ÊÇÒµÎñ·½·¨¡£

ÇÉÓÃmethod object

method objectÊÇ´óÐÍÖØ¹¹µÄ³£Óü¼ÇÉ¡£µ±Ò»¶ÎÂß¼­Ìرð¸´ÔӵĴúÂ룬³ä³âן÷ÖÖ²ÎÊý´«µÝºÍÊÇ·ÇÒò¹ûÅжϵÄʱºò£¬ÎÒÊ×ÏÈÏëµ½µÄÖØ¹¹ÊÖ¶ÎÊÇÌáÈ¡method object¡£Ëùνmethod object£¬ÊÇÒ»¸öÓÐÊý¾ÝÓÐÐÐΪµÄ¶ÔÏó¡£ÒÀÀµµÄÊý¾Ý»á³ÉΪÕâ¸ö¶ÔÏóµÄ±äÁ¿£¬ËùÓеÄÐÐΪ»á³ÉΪÕâ¸ö¶ÔÏóµÄÄÚ²¿·½·¨¡£ÀûÓóÉÔ±±äÁ¿´úÌæ²ÎÊý´«µÝ£¬»áÈôúÂë¼ò½àÇåˬºÜ¶à¡£²¢ÇÒ£¬°ÑÒ»¶Î¹ý³ÌʽµÄ´úÂëת»»³É¶ÔÏó´úÂ룬ΪºÜ¶àÃæÏò¶ÔÏó±à³Ì²Å¿ÉÒÔʹÓõļ̳У¯·â×°£¯¶à̬µÈÌṩÁË»ù´¡¡£

¾Ù¸öÀý×Ó£¬ÉÏÎÄÒýÓõĴúÂëÈç¹ûÓÃmethod object±íʾ´ó¸Å»á±ä³ÉÕâÑù

 class DoMerger{
map params1;
map params2;
Do1 do1;
Do2 do2;
public DoMerger(Map params1,Map params2){
this.params1 = params1;
this.params2 = parmas2;
}
public void invoke(){
do1 = getDo1();
do2 = getDo2();
mergeDO(do1,do2);
}
private Do1 getDo1();
private Do2 getDo2();
private void mergeDo(){
print(do1+do2);
}
}

ÃæÏò½Ó¿Ú±à³Ì

ÃæÏò½Ó¿Ú±à³ÌÊǺܶàÄêÀ´´ó¼ÒÐγɵĹ²Ê¶ºÍ×î¼Ñʵ¼ù¡£×îÔçµÄÀíÂÛÊDZãÓÚʵÏÖµÄÌæ»»£¬µ«ÏÖÔÚ¸üÏÔ¶øÒ×¼ûµÄºÃ´¦ÊDZÜÃâpublic·½·¨µÄÅòÕÍ¡£Ò»¸ö¶ÔÍâpublishµÄ½Ó¿Ú£¬Ò»¶¨ÓÐÃ÷È·µÄÖ°Ôð¡£ÒªÅжÏÿһ¸öpublic·½·¨ÊÇ·ñÓ¦¸ÃÊôÓÚͬһ¸öinterface£¬ÊǺÜÈÝÒ׵ġ£

Õû¸ö´úÂë»ùÓÚ½Ó¿ÚÈ¥×éÖ¯£¬»áºÜ×ÔÈ»µØ±äµÃ·Ç³£ÇåÎúÒ×¶Á¡£¹Ø×¢ÊµÏÖµÄÈ˲ÅÈ¥¿´ÊµÏÖ£¬²»ÊÇÂ

ÕýȷʹÓü̳кÍ×éºÏ

ÕâÒ²ÊǸöÔÚÒµ½ç±»ÌÖÂÛ¹ýºÜ¾ÃµÄÎÊÌ⣬ҲÓкܶàÂÛµ÷¡£×îеĹ۵ãÊÇ×éºÏµÄʹÓÃÒ»°ãÇé¿öϱȼ̳иüΪÁé»î£¬ÓÈÆäÊǵ¥¼Ì³ÐµÄÌåϵÀËùÒÔÇãÏòÓÚʹÓÃ×éºÏ

£¬·ñÔò»áÈÃ×ÓÀà³ÐÔØºÜ¶à²»ÊôÓÚ×Ô¼ºµÄÖ°ÄÜ¡£

¸öÈ˶Դ˹۵ã³Ö±£ÁôÒâ¼û£¬ÔÚÎÒ¾­Àú¹ýµÄ´úÂëÖУ¬ÓÐÒ»¸öС¹æÂÉ£¬ÎÒ·ÖÎöһϡ£

protected abstract ÕâÖÖÊÇ×îÖµµÃʹÓü̳е쬏¸Àà±£ÁôÀ©Õ¹µã£¬×ÓÀàÀ©Õ¹£¬Ã»Ê²Ã´ºÃ˵µÄ¡£

protected final ÕâÖÖ·½·¨£¬×ÓÀàÊÇÖ»ÄÜʹÓò»ÄÜÐÞ¸ÄʵÏֵġ£Ò»°ãÓÐÁ½ÖÖÇé¿ö£º

¢Ù ³éÏó³öÖ÷Á÷³Ì²»Äܱ»Ð޸ĵģ¬È»¶øÒ»°ãÇé¿öÏ£¬public final¸üÊʺÏÕâ¸öÖ°ÄÜ¡£Èç¹ûÖ»ÊÇÁ÷³ÌµÄÒ»²¿·Ö£¬ÐèҪ˼¿¼Õâ¸öÁ÷³ÌµÄÀà¹éÊô£¬´ó²¿·Ö±ä³Épublic×éºÏµ½ÆäËûÀàÀïÊǸüºÏÊʵġ£

¢Ú ¸¸ÀàÊdzéÏóÀàÎÞ·¨Ö±½Ó¶ÔÍâÌṩ·þÎñ£¬ÓÖ²»Ï£Íû×ÓÀàÐÞ¸ÄËüµÄÐÐΪ£¬ÕâÖÖ´ó¶àÊýÇé¿öÏÂÊôÓÚ¹¤¾ß·½·¨£¬±È½ÏÊʺÏÓÃÁíÒ»¸öÁìÓò¶ÔÏóÀ´³ÐÔØ²¢ÓÃ×éºÏµÄ·½Ê½À´Ê¹Óá£

protected ÕâÖÖÊÇÓÐÕùÒéµÄ£¬ÊǸ¸ÀàÓÐĬÈÏʵÏÖµ«×ÓÀà¿ÉÒÔÀ©Õ¹µÄ¡£·²ÊÇÓÐÀ©Õ¹¿ÉÄܵģ¬Ê¹Óü̳иüÀíÏëһЩ¡£·ñÔò£¬¶¨Òå³Éfinal²¢¿¼ÂdzÉ×éºÏ¡£

×ÛÉÏËùÊö£¬¸öÈËÈÏΪ¼Ì³Ð¸ü¶àµÄÊÇΪÀ©Õ¹Ìṩ±ãÀû£¬Îª¸´Óöø´æÔڵķ½·¨×îºÃʹÓÃ×éºÏµÄ·½Ê½¡£µ±È»£¬¸üΪ´óµÄÔ­ÔòÊÇÃ÷ȷÿ¸ö·½·¨µÄÁìÓò»®·Ö¡£

´úÂ븴Óü¼ÇÉ

Ä£°å·½·¨

ÕâÊÇÎÒÓõÃ×î¶àµÄÉè¼ÆÄ£Ê½ÁË¡£Ã¿µ±ÓÐÁ½¸öÐÐΪÀàËÆµ«ÓÖ²»ÍêÈ«ÏàͬµÄ´úÂë¶Îʱ£¬ÎÒ×ÜÊÇ»áÏ뵽ģ°å·½·¨¡£ÌáÈ¡¹«¹²Á÷³ÌºÍ¿É¸´Óõķ½·¨µ½¸¸À࣬±£Áô²»Í¬µÄµØ·½×÷Ϊabstract·½·¨£¬Óɲ»Í¬µÄ×ÓÀàȥʵÏÖ¡£

²¢ÔÚºÏÊʵÄʱ»ú£¬pull method up£¨¸´Óã©»òÕß pull method down£¨ÌØÊâÂß¼­£©¡£

×îºó£¬°Ñ²»ÊôÓÚÁ÷³ÌµÄ¡¢µ«¿É¸´Óõķ½·¨£¬ÅжÏÊDz»ÊÇÊôÓÚ»ùÀàµÄÁìÓòÖ°Ôð£¬ÔÙʹÓü̳лòÕß×éºÏµÄ·½·¨£¬ÎªÕâЩ·½·¨ÕÒµ½ºÏÊʵݲ¼ÒÖ®´¦¡£

extract method

ºÜ¶à¸´Óõļ¶±ðûÓÐÕâô´ó£¬Ò²ÐíÖ»ÊǼ¸ÐÐÏàͬµÄÂß¼­±»copyÁ˺ü¸´Î£¬ºÎ²»³¢ÊÔÌáÈ¡·½·¨£¨private£©¡£ÓÖÄÜÃ÷È··½·¨ÐÐΪ£¬ÓÖÄÜ×öµ½´úÂ븴Ó㬺ÎÀÖ²»Îª£¿

ÔðÈÎÁ´

¾­³£¿´µ½ÕâÑùµÄ´úÂ룬һÁ¬´®ÀàËÆµÄÐÐΪ£¬Ö»ÊÇÊý¾Ý»òÕßÐÐΪ²»Ò»Ñù¡£ÈçÒ»¶ÑУÑéÆ÷£¬Èç¹û³É¹¦ÔõôÑù¡¢Ê§°ÜÔõôÑù£»»òÕßÒ»¶Ñ¶ÔÏó¹¹½¨Æ÷£¬¸÷È¥¹¹ÔìÒ»²¿·ÖÊý¾Ý¡£Åöµ½ÕâÖÖ³¡¾°£¬ÎÒ×ÜÊÇϲ»¶¶¨ÒåÒ»¸öͨÓýӿڣ¬Èë²ÎÊÇÍêÕûµÄҪУÑ飯¹¹ÔìµÄ²ÎÊý£¬

³ö²ÎÊdzɹ¦/ʧ°ÜµÄ±êʾ»òÕßÊÇvoid¡£È»ºóÓкܶàʵÏÖÆ÷·Ö±ðʵÏÖÕâ¸ö½Ó¿Ú£¬ÔÙÓÃÒ»¸ö¼¯ºÏ°ÑÕâ¶ÑÐÐΪ´®ÆðÀ´¡£×îºó£¬±éÀúÕâ¸ö¼¯ºÏ£¬´®ÐлòÕß²¢ÐеÄÖ´ÐÐÿһ²¿·ÖµÄÂß¼­¡£

ÕâÑù×öµÄºÃ´¦ÊÇ£º

¢Ù ºÜ¶àͨÓõĴúÂë¿ÉÒÔÔÚÔðÈÎÁ´Ô­×Ó¶ÔÏóµÄ»ùÀàÀïʵÏÖ£»

¢Ú ´úÂëÇåÎú£¬¿ª±ÕÔ­Ôò£¬Ã¿µ±ÓÐеÄÐÐΪ²úÉúµÄʱºò£¬Ö»ÐèÒª¶¨ÒåÐеÄʵÏÖÀಢÌí¼Óµ½¼¯ºÏÀï¼´¿É£»

¢Û Ϊ²¢ÐÐÌṩÁË»ù´¡¡£

Ϊ¼¯ºÏÏÔʽ¶¨ÒåËüµÄÐÐΪ

¼¯ºÏÊǸöÓÐÒâ˼µÄ¶«Î÷£¬±¾ÖÊÉÏËüÊǸöÈÝÆ÷£¬µ«ÓÉÓÚ·ºÐ͵ĴæÔÚ£¬Ëü±ä³ÉÁË¿ÉÒÔ³ÐÔØËùÓжÔÏóµÄÈÝÆ÷¡£ºÜ¶à·Ç¼¯ºÏµÄÀ࣬ÎÒÃÇ¿ÉÒÔ¶¨ÒåÇå³þËûÃǵı߽çºÍÐÐΪ»®·Ö£¬µ«ÊÇ×°½ø¼¯ºÏÀËüÃÇÈ´¶¼±ä³ÉÁËÒ»¸öÑù×Ó¡£²»Í£µØÓдúÂ룬¸÷ÖÖÑ­»·¼¯ºÏ£¬×öһЩÏàËÆµÄ²Ù×÷¡£

ÆäʵºÜ¶àʱºò£¬¿ÉÒ԰ѶԼ¯ºÏµÄ²Ù×÷ÏÔʾµØ·â×°ÆðÀ´£¬ÈÃËü±äµÃ¸üÓÐѪÓÐÈâ¡£

ÀýÈçÒ»¸öMap£¬Ëü¿ÉÄܱíʾһ¸öÅäÖÆ¡¢Ò»¸ö»º´æµÈµÈ¡£Èç¹ûËùÓеIJÙ×÷¶¼ÊÇÖ±½Ó²Ù×÷Map£¬ÄÇôËüµÄÐÐΪ¾ÍûÓÐÈκÎÓïÒå¡£µÚÒ»£¬¶ÁÆðÀ´¾Í±ØÐëÒªÉîÈëϸ½Ú£»µÚ¶þ£¬Èç¹ûÏë´Ó»ñÈ¡ÅäÖöÁÈ¡»º´æµÄµØ·½¼Ó¸öͨÓõÄÂß¼­£¬ÀýÈç´ò¸ölogʲôµÄ£¬Äã¿ÉÒÔÏëÏóÊǶàôµÄ±ÀÀ£¡£

¸öÈËÌᳫµÄ×ö·¨ÊÇ£¬¶ÔÓÚÓÐÃ÷È·ÓïÒåµÄ¼¯ºÏµÄһЩ²Ù×÷£¬ÓÈÆäÊÇÈ«¾ÖµÄ¼¯ºÏ»òÕß±»¾­³£Ê¹Óõļ¯ºÏ£¬×öһЩ·â×°ºÍ³éÏó£¬Èç°ÑMap·â×°³ÉÒ»¸öCacheÀà»òÕßÒ»¸öconfigÀ࣬ÔÙÌṩGetFromCacheÕâÑùµÄ·½·¨¡£

×ܽá

±¾ÎÄ´Óclean codeµÄ¼¸¸ö´óǰÌá³ö·¢£¬È»ºóÌá³öÁËʵ¼ùclean codeµÄһЩÊֶΣ¬Öصã·ÅÔÚ´Ù³Éclean codeµÄһЩ³£ÓñàÂëºÍÖØ¹¹¼¼ÇÉ¡£

µ±È»£¬ÕâЩֻ´ú±í±ÊÕß±¾È˵ÄÒ»µãµã¸ÐÎò¡£ºÃµÄ´úÂ룬×î×îÐèÒªµÄ£¬»¹ÊÇ´ó¼Ò²»¶Ï×·Çó׿ԽµÄ¾«Éñ¡£»¶Ó­´ó¼ÒÒ»Æð̽Ë÷½»Á÷Õâ¸öÁìÓò£¬Îªclean codeÌṩ¸ü¶àºÃµÄ˼·Óë·½·¨¡£

   
2809 ´Îä¯ÀÀ       28
Ïà¹ØÎÄÕÂ

Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
Ïà¹ØÎĵµ

ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
Ïà¹Ø¿Î³Ì

»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì
×îл¼Æ»®
»ùÓÚÄ£Ð͵ÄÊý¾ÝÖÎÀíÓëÖÐ̨ 11-11[±±¾©]
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸Àýʵ¼ù 11-13[±±¾©]
OCSMP ÈÏÖ¤Åàѵ¿Î³Ì 11-18[±±¾©]
UMLÓëÃæÏò¶ÔÏó·ÖÎöÉè¼Æ 11-25[±±¾©]
SysMLºÍEAϵͳÉè¼ÆÓ뽨ģ 11-19[±±¾©]
³µÔØÏµÍ³¹¦ÄÜ¿ª·¢·½·¨Óëʵ¼ù 10-25[±±¾©]

WEBÓ¦ÓóÌÐòUIÄ£°æ´úÂë±àд
C# ±àÂë¹æ·¶ºÍ±à³ÌºÃϰ¹ß
ʲôÊÇ·ÀÓùÐÔ±à³Ì
ÉÆÓÚ·ÀÊØ-½¡×³´úÂëµÄ·ÀÓùÐÔ
Visual C++±à³ÌÃüÃû¹æÔò
JavaScript³ÌÐò±àÂë¹æ·¶


Éè¼ÆÄ£Ê½Ô­ÀíÓëÓ¦ÓÃ
´ÓÐèÇó¹ý¶Éµ½Éè¼Æ
Èí¼þÉè¼ÆÔ­ÀíÓëʵ¼ù
ÈçºÎ±àд¸ßÖÊÁ¿´úÂë
µ¥Ôª²âÊÔ¡¢Öع¹¼°³ÖÐø¼¯³É
Èí¼þ¿ª·¢¹ý³ÌÖ¸ÄÏ


ijȫÇòÖªÃûͨÐŹ«Ë¾ ´úÂëÕû½à
ºáºÓµç»ú ÈçºÎ±àд¸ßÖÊÁ¿´úÂë
ij֪Ãû½ðÈÚÈí¼þ·þÎñÉÌ ´úÂëÆÀÉó
¶«Èí¼¯ÍÅ ´úÂëÖØ¹¹
ij½ðÈÚÈí¼þ·þÎñÉÌ ¼¼ÊõÎĵµ
Öдïµçͨ Éè¼ÆÄ£Ê½Ô­ÀíÓëʵ¼ù
·¨¹úµçÐÅ ¼¼ÊõÎĵµ±àдÓë¹ÜÀí