1£®¹ØÓÚCode
Review
1.1 Code ReviewµÄÄ¿µÄ
Code ReviewÊÇÒ»ÖÖÓÃÀ´È·ÈÏ·½°¸Éè¼ÆºÍ´úÂëʵÏÖµÄÖÊÁ¿±£Ö¤»úÖÆ£¬Í¨¹ýÕâ¸ö»úÖÆÎÒÃÇ¿ÉÒÔ¶Ô´úÂë¡¢²âÊÔ¹ý³ÌºÍ×¢ÊͽøÐмì²é¡£
Code ReviewÖ÷ÒªÓÃÀ´ÔÚÈí¼þ¹¤³Ì¹ý³ÌÖиĽø´úÂëÖÊÁ¿£¬Í¨¹ýCode Review¿ÉÒÔ´ïµ½ÈçÏÂÄ¿µÄÄ¿µÄ£º
£¨1£©ÔÚÏîÄ¿ÔçÆÚ¾ÍÄܹ»·¢ÏÖ´úÂëÖеÄBUG
£¨2£©°ïÖú³õ¼¶¿ª·¢ÈËԱѧϰ¸ß¼¶¿ª·¢ÈËÔ±µÄ¾Ñ飬´ïµ½ÖªÊ¶¹²Ïí
£¨3£©±ÜÃ⿪·¢ÈËÔ±·¸Ò»Ð©ºÜ³£¼û£¬ºÜÆÕͨµÄ´íÎó
£¨4£©±£Ö¤ÏîÄ¿×éÈËÔ±µÄÁ¼ºÃ¹µÍ¨
£¨5£©ÏîÄ¿»ò²úÆ·µÄ´úÂë¸üÈÝÒ×ά»¤
1.2Code ReviewµÄǰÌá
½øÈëCode ReviewÐèÒª¼ì²éµÄÌõ¼þÈçÏ£º
£¨1£©Code ReviewÈËÔ±ÊÇ·ñÀí½âÁËCode ReviewµÄ¸ÅÄîºÍCode Review½«×öʲô
Èç¹û×öCode ReviewµÄÈËÔ±²»ÄÜÀí½âCode Review¶ÔÏîÄ¿³É°ÜºÍ´úÂëÖÊÁ¿µÄÖØÒª³Ì¶È£¬ËûÃǵÄ×ö·¨¿ÉÄܾͻáÊÇÓ¦¸¶ÁËÊ¡£
£¨2£©´úÂëÊÇ·ñÒѾÕýÈ·µÄbuild£¬buildµÄÄ¿µÄʹµÃ´úÂëÒѾ²»´æÔÚ»ù±¾Óï·¨´íÎó
ÎÒÃÇ×ܲ»Ï£Íû¸ß¼¶¿ª·¢ÈËÔ±»òÊÇÖ÷¹Ü½«Ê±¼äÀË·ÑÔÚ¼ì²éÁ¬±àÒ붼ͨ²»¹ýµÄ´úÂëÉϰɡ£
£¨3£©´úÂëÖ´ÐÐʱ¹¦ÄÜÊÇ·ñÕýÈ·
Code ReviewÈËÔ±Ò²²»¸ºÔð¼ì²é´úÂëµÄ¹¦ÄÜÊÇ·ñÕýÈ·£¬Ò²¾ÍÊÇ˵£¬ÐèÒª¸´²éµÄ´úÂë±ØÐëÓÉ¿ª·¢ÈËÔ±»òÖÊÁ¿ÈËÔ±¸ºÔð¸Ã´úÂëµÄ¹¦ÄܵÄÕýÈ·ÐÔ¡£
£¨4£©ReviewÈËÔ±ÊÇ·ñÀí½âÁË´úÂë
×ö¸´²éµÄÈËÔ±ÐèÒª¶Ô¸Ã´úÂëÓÐÒ»¸ö»ù±¾µÄÁ˽⣬Æä¹¦ÄÜÊÇʲô£¬ÊÇÄÃÒ»·½ÃæµÄ´úÂë£¬Éæ¼°µ½Êý¾Ý¿â»òÊÇͨѶ£¬ÕâÑù²ÅÄܲÉÈ¡Õë¶ÔÐԵļì²é
£¨5£©¿ª·¢ÈËÔ±ÊÇ·ñ¶Ô´úÂë×öÁ˵¥Ôª²âÊÔ
ÕâÒ»µãÒ²ÊÇΪÁ˱£Ö¤Code ReviewǰһЩÓï·¨ºÍ¹¦ÄÜÎÊÌâÒѾµÃµ½½â¾ö£¬Code
ReviewÈËÔ±¿ÉÒÔ½«¾«Á¦¼¯ÖÐÔÚ´úÂëµÄÖÊÁ¿ÉÏ¡£
1.3 Code ReviewÐèÒª×öʲô
Code ReviewÖ÷Òª¼ì²é´úÂëÖÐÊÇ·ñ´æÔÚÒÔÏ·½ÃæÎÊÌ⣺
´úÂëµÄÒ»ÖÂÐÔ¡¢±àÂë·ç¸ñ¡¢´úÂëµÄ°²È«ÎÊÌâ¡¢´úÂëÈßÓà¡¢ÊÇ·ñÕýÈ·Éè¼ÆÒÔÂú×ãÐèÇó£¨ÐÔÄÜ¡¢¹¦ÄÜ£©µÈµÈ
1.3.1 ÍêÕûÐÔ¼ì²é£¨Completeness£©
´úÂëÊÇ·ñÍêȫʵÏÖÁËÉè¼ÆÎĵµÖÐÌá³öµÄ¹¦ÄÜÐèÇó
´úÂëÊÇ·ñÒѰ´ÕÕÉè¼ÆÎĵµ½øÐÐÁ˼¯³ÉºÍDebug
´úÂëÊÇ·ñÒÑ´´½¨ÁËÐèÒªµÄÊý¾Ý¿â£¬°üÀ¨ÕýÈ·µÄ³õʼ»¯Êý¾Ý
´úÂëÖÐÊÇ·ñ´æÔÚÈκÎûÓж¨Òå»òûÓÐÒýÓõ½µÄ±äÁ¿¡¢³£Êý»òÊý¾ÝÀàÐÍ
1.3.2 Ò»ÖÂÐÔ¼ì²é£¨Consistency£©
´úÂëµÄÂß¼ÊÇ·ñ·ûºÏÉè¼ÆÎĵµ
´úÂëÖÐʹÓõĸñʽ¡¢·ûºÅ¡¢½á¹¹µÈ·ç¸ñÊÇ·ñ±£³ÖÒ»ÖÂ
1.3.3 ÕýÈ·ÐÔ¼ì²é£¨Correctness£©
´úÂëÊÇ·ñ·ûºÏÖÆ¶¨µÄ±ê×¼
ËùÓеıäÁ¿¶¼±»ÕýÈ·¶¨ÒåºÍʹÓÃ
ËùÓеÄ×¢ÊͶ¼ÊÇ׼ȷµÄ
ËùÓеijÌÐòµ÷Óö¼Ê¹ÓÃÁËÕýÈ·µÄ²ÎÊý¸öÊý
1.3.4 ¿ÉÐÞ¸ÄÐÔ¼ì²é£¨Modifiability£©
´úÂëÉæ¼°µ½µÄ³£Á¿ÊÇ·ñÒ×ÓÚÐÞ¸Ä(ÈçʹÓÃÅäÖᢶ¨ÒåΪÀà³£Á¿¡¢Ê¹ÓÃרÃŵij£Á¿ÀàµÈ)
´úÂëÖÐÊÇ·ñ°üº¬Á˽»²æËµÃ÷»òÊý¾Ý×ֵ䣬ÒÔÃèÊö³ÌÐòÊÇÈçºÎ¶Ô±äÁ¿ºÍ³£Á¿½øÐзÃÎʵÄ
´úÂëÊÇ·ñÖ»ÓÐÒ»¸ö³ö¿ÚºÍÒ»¸öÈë¿Ú£¨ÑÏÖØµÄÒì³£´¦Àí³ýÍ⣩
1.3.5 ¿ÉÔ¤²âÐÔ¼ì²é£¨Predictability£©
´úÂëËùÓõĿª·¢ÓïÑÔÊÇ·ñ¾ßÓж¨ÒåÁ¼ºÃµÄÓï·¨ºÍÓïÒå
ÊÇ·ñ´úÂë±ÜÃâÁËÒÀÀµÓÚ¿ª·¢ÓïÑÔȱʡÌṩµÄ¹¦ÄÜ
´úÂëÊÇ·ñÎÞÒâÖÐÏÝÈëÁËËÀÑ»·
´úÂëÊÇ·ñÊÇ·ñ±ÜÃâÁËÎÞÇîµÝ¹é
1.3.6 ½¡×³ÐÔ¼ì²é£¨Robustness£©
´úÂëÊÇ·ñ²ÉÈ¡´ëÊ©±ÜÃâÔËÐÐʱ´íÎó£¨ÈçÊý×é±ß½çÒç³ö¡¢±»Áã³ý¡¢ÖµÔ½½ç¡¢¶ÑÕ»Òç³öµÈ£©
1.3.7 ½á¹¹ÐÔ¼ì²é£¨Structuredness£©
³ÌÐòµÄÿ¸ö¹¦ÄÜÊÇ·ñ¶¼×÷Ϊһ¸ö¿É±çʶµÄ´úÂë¿é´æÔÚ
Ñ»·ÊÇ·ñÖ»ÓÐÒ»¸öÈë¿Ú
1.3.8 ¿É×·ËÝÐÔ¼ì²é£¨Traceability£©
´úÂëÊÇ·ñ¶Ôÿ¸ö³ÌÐò½øÐÐÁËΨһ±êʶ
ÊÇ·ñÓÐÒ»¸ö½»²æÒýÓõĿò¼Ü¿ÉÒÔÓÃÀ´ÔÚ´úÂëºÍ¿ª·¢ÎĵµÖ®¼äÏ໥¶ÔÓ¦
´úÂëÊÇ·ñ°üÀ¨Ò»¸öÐÞ¶©ÀúÊ·¼Ç¼£¬¼Ç¼ÖжԴúÂëµÄÐ޸ĺÍÔÒò¶¼ÓмǼ
ÊÇ·ñËùÓеݲȫ¹¦Äܶ¼Óбêʶ
1.3.9 ¿ÉÀí½âÐÔ¼ì²é£¨Understandability£©
×¢ÊÍÊÇ·ñ×ã¹»ÇåÎúµÄÃèÊöÿ¸ö×Ó³ÌÐò
ÊÇ·ñʹÓõ½²»Ã÷È·»ò²»±ØÒªµÄ¸´ÔÓ´úÂ룬ËüÃÇÊÇ·ñ±»Çå³þµÄ×¢ÊÍ
ʹÓÃһЩͳһµÄ¸ñʽ»¯¼¼ÇÉ£¨ÈçËõ½ø¡¢¿Õ°×µÈ£©ÓÃÀ´ÔöÇ¿´úÂëµÄÇåÎú¶È
ÊÇ·ñÔÚ¶¨ÒåÃüÃû¹æÔòʱ²ÉÓÃÁ˱ãÓÚ¼ÇÒ䣬·´Ó³ÀàÐ͵ȷ½·¨
ÿ¸ö±äÁ¿¶¼¶¨ÒåÁ˺Ϸ¨µÄȡֵ·¶Î§
´úÂëÖеÄËã·¨ÊÇ·ñ·ûºÏ¿ª·¢ÎĵµÖÐÃèÊöµÄÊýѧģÐÍ
1.3.10¿ÉÑéÖ¤ÐÔ¼ì²é(Verifiability)
´úÂëÖеÄʵÏÖ¼¼ÊõÊÇ·ñ±ãÓÚ²âÊÔ
1.4 Code ReviewµÄ²½Öè
ÕâЩÊÇÎÒÔÚÆ½Ê±¹¤×÷ÖеľÑé×ܽᣬĿǰҲÊǰ´ÕÕÕâ¸ö²½ÖèÔÚ×ö¡£
(1)´úÂë±àдÕߺʹúÂëÉóºËÕß×øÔÚÒ»Æð£¬ÓÉ´úÂë±àдÕß°´ÕÕUCÒÀ´Î½²½â×Ô¼º¸ºÔðµÄ´úÂëºÍÏà¹ØÂß¼£¬´ÓWeb²ã->DAO²ã£»
(2)´úÂëÉóºËÕßÔڴ˹ý³ÌÖпÉÒÔËæÊ±Ìá³ö×Ô¼ºµÄÒÉÎÊ£¬Í¬Ê±»ý¼«·¢ÏÖÒþ²ØµÄbug£»¶ÔÕâЩbug¼Ç¼ÔÚ°¸¡£
(3)´úÂë½²½âÍê±Ïºó£¬´úÂëÉóºËÕ߸ø×Ô¼º°²Åż¸¸öСʱÔÙ¶Ô´úÂëÉóºËÒ»±é¡£
´úÂëÐèÒªÒ»ÐÐÒ»Ðо²ÏÂÐÄ¿´¡£Í¬Ê±´úÂëÓÖÒªÈ«ÃæµÄ¿´£¬ÒÔÈ·±£´úÂëÕûÌåÉÏÉè¼ÆÓÅÁ¼¡£
(4)´úÂëÉóºËÕ߸ù¾ÝÉóºËµÄ½á¹û±àд¡°´úÂëÉóºË±¨¸æ¡±£¬¡°ÉóºË±¨¸æ¡±ÖмǼ·¢ÏÖµÄÎÊÌâ¼°Ð޸Ľ¨Ò飬Ȼºó°Ñ¡°ÉóºË±¨¸æ¡±·¢Ë͸øÏà¹ØÈËÔ±¡£
(5)´úÂë±àдÕ߸ù¾Ý¡°´úÂëÉóºË±¨¸æ¡±¸ø³öµÄÐÞ¸ÄÒâ¼û£¬Ð޸ĺôúÂ룬Óв»Çå³þµÄµØ·½¿É»ý¼«Ïò´úÂëÉóºËÕßÌá³ö¡£
(6)´úÂë±àдÕß bug fixÍê±ÏÖ®ºó¸ø³ö·´À¡¡£
(7)´úÂëÉóºËÕß°ÑCode ReviewÖз¢ÏÖµÄÓмÛÖµµÄÎÊÌâ¸üе½"´úÂëÉóºË¹æ·¶"µÄÎĵµÖУ¬¶ÔÓÚÌØ±ðÖµµÃÌáÐѵÄÎÊÌâ¿ÉȺ·¢email¸øËùÓм¼ÊõÈËÔ±¡£
Ìáʾ£ºCode Review±Ø±¸µÄÎĵµ£º
¡°´úÂëÉóºË¹æ·¶¡±Îĵµ£º¼Ç¼´úÂëÓ¦¸Ã×ñѵıê×¼¡£
´úÂëÉóºËÕ߸ù¾ÝÕâЩ±ê×¼À´Code Review´úÂ룬ͬʱÔÚCode Review¹ý³ÌÖв»¶ÏÍêÉÆ¸ÃÎĵµ¡£
2£®Code ReivewµÄÖ´ÐÐ
Ò»¸ö±ê×¼µÄCode Reivew»î¶¯Ó¦¸Ã·ÖΪÈý¸ö½×¶Î£º
2.1£®ÊÂǰ׼±¸½×¶Î
ÔÚÒ»´ÎCRǰ£¬¶ÔÒÔÏÂÄÚÈݽøÐгä·Ö×¼±¸¡£
2.1.1£®CRµÄ¶ÔÏó
ÔÚ×¼±¸CR´úÂë¶ÔÏóʱ£¬ÎÒÃÇҪעÒâ´úÂëµÄÊýÁ¿£¬Èç¹û´úÂëÁ¿±È½Ï´ó£¬Òª¶Ô´úÂë½øÐбØÒªµÄ·Ö½â£¬È·¶¨ÆäÖеĹؼü´úÂ룬¶Ô¹Ø¼ü´úÂë½øÐÐCR£¬¿ÉÒÔ´ïµ½¾ÙÒ»·´ÈýµÄÄ¿µÄ¡£
2.1.2£®CRµÄÄÚÈÝ
ÎÒÃǶԴúÂëµÄÉó²éÄÚÈݺܶ࣬Èç´úÂëµÄ±àдÊÇ·ñ¹æ·¶£¨×¢Ê͵ÄÊéд¸ñʽ¡¢ÃüÃû¹æ·¶µÈ£©¡¢¼¼Êõ´¦Àí¹æ·¶£¨Òì³£´¦Àí¡¢ÈÕÖ¾´¦Àí¡¢´úÂë×éÖ¯½á¹¹µÈ£©¡¢ÒµÎñʵÏֵȡ£ÎÒÃDz»ÄÜÏ£Íûͨ¹ýÒ»´ÎCR»î¶¯£¬Íê³ÉËùÓÐÕâЩÄÚÈݵÄÉó²é£¬Òò´ËÎÒÃDZØÐëÉ趨±¾´ÎCR»î¶¯ÄÚÈݽçÏÞ£¬È·¶¨Éó²éÖØµã£»
2.1.3£®ÆÀÉ󹿷¶ºÍ±ê×¼
ÔÚCRǰÉè¼ÆÈ·¶¨ÆÀÉ󹿷¶ºÍ±ê×¼ÊDZØÒª£¬Í¨¹ý¹æ·¶ºÍ±ê×¼ÎÒÃÇÔÚÉó²é¹ý³ÌÖпÉÒÔÓоݿÉÒÀ£¬ÓÐÀí¿ÉÑ£¬¶øÇÒ»¹¿ÉÒÔ×öµ½±ê׼ͳһ¡£
2.1.4£®Ñ¡ÔñCR»î¶¯µÄ²ÎÓëÕß
ÔÚCR¿ªÊ¼Ç°£¬±ØÐë°Ñ±¾´ÎCR»î¶¯µÄ¶ÔÏó¡¢Éó²éÄÚÈÝÒÔ¼°Éó²éµÄ¹æ·¶ºÍ±ê׼ͨ±¨¸øËùÓеIJÎÓëÕß¡£
2.1.5£®Ñ¡ÔñCR»î¶¯µÄʵʩ·½Ê½¡£
CR»î¶¯ÓкܶàÐÎʽ¿É¹©ÎÒÃÇÑ¡Ôñ£¬ÎÒÃÇ¿ÉÒÔ¸ù¾Ýʵ¼ÊÇé¿öÑ¡Ôñ×ÀÃæÊ½CR¡¢ÑÝʾ½²½âʽCR¡¢Ò»¶ÔÒ»µÄ×ùλCRµÈµÈ¡£
2.2£®ÊµÊ©½×¶Î
³ä·ÖµÄÊÂǰ׼±¸£¬Ö»ÊÇ×öºÃCR»î¶¯µÄǰÌᣬÔÚCRʵʩ¹ý³ÌÖУ¬ÎÒÃÇÒª×öºÃÒÔϹ¤×÷¡£
2.2.1£®×¼È·¼Ç¼
¶ÔÓÚCR¹ý³Ì·¢ÏÖµÄÎÊÌ⣬ÎÒÃDZØÐëÇåÎú׼ȷµÄ¼Ç¼£¬¿ÉÒÔʹÓÃÎÊÌâµã¼Ç¼µ¥£¬Ã÷È·¼Ç¼µÄÏîÄ¿ºÍÄÚÈÝ¡£
2.2.2£®½²½âÓëÌáÎÊ
CR¹ý³ÌÖУ¬Òª²ÉÓôúÂë×÷Õß½²½âºÍÉó²éÕßÌáÎÊ·½Ê½¡£Éó²éÕß²»ÄÜÖ»ÔÚ·¢ÏÖÎÊÌâʱÌáÎÊ£¬Í¬Ê±Ò²Òª¸ù¾Ý±¾´ÎÉó²éµÄÄÚÈÝÒªÇó´úÂë×÷Õß¶Ôij¸öÌØ¶¨ÎÊÌâµÄ½²½â¡£
2.2.3£®ÖðÏîÉó²é
¶ÔÊÂǰȷ¶¨µÄÉó²éÄÚÈÝ£¬ÒªÖðÏîÉó²é£¬²»ÄÜÒòΪʱ¼ä²»×ãµÈÒòËØÒ»É¨¶ø¹ý¡£
2.2.4£®×¢ÒâÆø·Õ
ʵʩÉó²éʱ£¬ÒªÓªÔìÒ»¸öÌÖÂÛÎÊÌâ¡¢½â¾öÎÊÌâµÄ·ÕΧ£¬²»ÄܰÑÉó²é»á¸ã³ÉÅúÅлᣬÕâÑù»áÓ°ÏìÏà¹ØÈËÔ±µÄ»ý¼«ÐÔ¡£
2.3. ʺó¸ú×Ù¸ú×Ù¡£
2.3.1. È·ÈÏ·¢ÏÖµÄÎÊÌâ
CR½áÊøºó£¬¶Ô·¢ÏÖµÄÎÊÌ⣬Ê×ÏÈÐèҪȷ¶¨ÒÔÏÂÄÚÈÝ¡£
1£®ÎÊÌâµãµÄÄÑÒ׳̶ÈÒÔ¼°Ó°ÏìµÄ·¶Î§£»
2£®½â¾öÎÊÌâµÄÔðÈÎÕߺÍÎÊÌâµãÐÞÕý½á¹ûµÄÈ·ÈÏÕߣ»
3£®½â¾öÎÊÌâµãµÄʱÏÞ¡£
2.3.2. ÐÞÕýÎÊÌâÔðÈÎÕß
¶ÔÓÚÐÞÕýÎÊÌâÔðÈÎÕߣ¬ÔÚÎÊÌâµãµÄÐÞÕý¹ý³ÌÖУ¬ÒªÈý·½ÃæÄÚÈݵļǼ¡£
1£®ÎÊÌâµãµÄÔÒò£»
2£®½â¾öÎÊÌâµãµÄ¶Ô²ß£»
3£®ÐÞÕýµÄÄÚÈÝ¡£
2.3.3. ÐÞÕý½á¹ûÈ·ÈÏÕß
×öΪÐÞÕý½á¹ûµÄÈ·ÈÏÕߣ¬±ØÐë°´ÕÕÊÂǰԼ¶¨µÄʱÏÞ¼°Ê±µÄ¶ÔÐÞÕý½á¹û½øÐÐÈ«ÃæµÄÈ·ÈÏ
3£®×¢ÒâÊÂÏî
3.1. ¾³£½øÐÐCode Review
£¨1£©ÒªReviewµÄ´úÂëÔ½¶à£¬ÄÇ̫񻅯¹¹£¬ÖØÐ´µÄ´úÂë¾Í»áÔ½¶à¡£¶øÔ½²»±»³ÌÐò×÷Õß½ÓÊܵĽ¨ÒéÒ²»áÔ½¶à£¬ÍÙÄ¿ÚˮսҲ»áÔ½¶à¡£
£¨2£©³ÌÐòÔ±´úÂëдµÃʱºòÔ½³¤£¬³ÌÐòÔ±¾Í»áÔÚ´úÂëÖмÓÈëÔ½À´Ô½¶àµÄ¸öÈ˵Ķ«Î÷¡£
£¨3£©Ô½½Ó½üÈí¼þ·¢²¼µÄ×îÖÕÆÚÏÞ£¬´úÂëÒ²¾Í²»ÄܸĵÃÌ«¶à¡£
3.2. Code Review²»ÒªÌ«Õýʽ£¬¶øÇÒÒª¶Ì
ÍüÁËÄǸö´úÂëÆÀÉóµÄChecklist°É£¬×ßµ½ÄãµÄͬÊÂ×ùλ¸úǰ£¬ÏñÇëʦ¸¸Ò»ÑùÇëËû×øµ½ÄãµÄµçÄÔÃæÇ°£¬È»ºó£¬»¨5·ÖÖÓ¸øËû½²½²ÄãµÄ´úÂ룬¸øËûÁíÍâÒ»¸ö5·ÖÖÓÈÃËû¸øÄãµÄ´úÂëÌáÌáÒâ¼û£¬Õâ±Èʲô¶¼ºÃ¡£¶øÈç¹ûÄãÓÃÁËÒ»¸öChecklist£¬ÈÃÕâ¸öÊÂÇé±íÏֵúÜÕýʽµÄ»°£¬ÏÂÃæÁ½¼þÊÂÖбØÓÐÒ»¼þÊ»ᷢÉú£º
£¨1£©Ö»ÓÐÔÚChecklistÉÏ´æÔڵĶ«Î÷²Å»á±»Review¡£
£¨2£©Code Reviews ±ä³ÉÁËÒ»ÖÖÀñ½ÚÐԵĶ«Î÷£¬ÄãµÄͬÊ»á×°×öºÜ¹ØÐÄÄãµÄ´úÂ룬µ«ÆäʵËûÐÄÀïÏëמ¡¿ìµØÀ뿪Äã¡£
Ö»Óв»ÕýʽµÄCode Review²Å»áÈÃÄãºÍÆÀÉóÕß·ÅÇáËÉ£¬ÈËÖ»ÓзÅËÉÁË£¬²Å»á±íÏֵúÜÕæÊµ£¬ºÜÕæ³Ï¡£¼ÇסReviewÖ»²»¹ýÊÇÒ»ÖÖÐÎʽ£¬¶øÖ»ÓÐÔÚÏ໥ÐÅÈÎÖÐͨ¹ýÏ໥µÄÌÖÂ۵õ½ÁËÓÐÒâÒåºÍÓн¨ÉèÐԵĽ¨ÒéºÍÒâ¼û£¬ÄDzÅÊÇ×îʵÔڵġ£²»È»£¬×÷ÕßºÍÆÀÉóÕߵĹØÏµ¾Í»á±ä³ÉС͵ºÍ¾¯²ìµÄ¹ØÏµ¡£
3.3. ¾¡¿ÉÄܵÄÈò»Í¬µÄÈËReivewÄãµÄ´úÂë
Èç¹û¿ÉÄܵϰ£¬²»Òª×ÜÊÇÖ»ÕÒÒ»¸öÈËÀ´ReviewÄãµÄ´úÂ룬²»Í¬µÄÈËÓв»Í¬µÄ˼¿¼·½Ê½£¬Óв»Í¬µÄ¼û½â£¬ËùÒÔ£¬²»Í¬µÄÈË¿ÉÒÔÈ«ÃæµÄ´Ó¸÷¸ö·½ÃæÆÀÂÛÄãµÄ´úÂë¡£
µ«²»ÒªÌ«¶àÁË£¬È˶à×ìÔÓ·´¶øÊÊµÃÆä·´£¬»ù±¾ÉÏÀ´Ëµ£¬²»Òª³¬¹ý3¸öÈË£¬ÕâÊÇÒòΪ£¬ÕâÊÇÒ»¸ö¿ÉÒÔΧÔÚÒ»ÆðÌÖÂÛµÄ×î´óÈËÔ±³ß´ç¡£
ÏÂÃæÊǼ¸¸öÓŵ㣺
£¨1£©´Ó²»Í¬µÄ·½ÏòÆÀÉó´úÂë×ÜÊǺõġ£
£¨2£©»áÓиü¶àµÄÈ˰ïÄãÔÚÈÕºóά»¤ÄãµÄ´úÂë¡£
£¨3£©ÕâÒ²ÊÇÒ»¸öÔö¼ÓÍŶÓÄý¾ÛÁ¦µÄ·½·¨¡£
3.4. ±£³Ö»ý¼«µÄÕýÃæµÄ̬¶È
³ÌÐòÔ±×î´óµÄÎÊÌâ¾ÍÊÇ¡°×Ô¸º¡±£¬ÓÈÆäµ±ÎÒÃÇReivew±ðÈ˵ĴúÂëµÄʱºò£¬ÎÒÒѾ¼û¹ýÎÞÊýµÄ³¡Ã棬³ÌÐòÔ±ÔÚCode
ReviewµÄʱºò£¬¿ªÊ¼Åê»÷±ðÈ˵ĴúÂ룬ÖÊÒɱðÈ˵ÄÄÜÁ¦¡£Ì«¿ÉЦÁË£¬ÎÒ·ÖÎöÁËһϣ¬ÕâÀàµÄ³ÌÐòÔ±Æäʵ²¢Ã»ÓÐʲô±¾Ê£¬ÒòΪËûÃÇÖ¸Ôð¶Ô·½µÄÄ¿µÄÊÇÏë¸æËß´ó¼Ò×Ô¼ºÓжàôµÄÅ££¬¿¿ÕâÖÖÊÖ¶ÎÀ´±íÏÖ×Ô¼ºµÄ³ÌÐòÔ±£¬ÆäʵÊǾÍÊÇ´«ËµÖÐËù˵µÄ¡°°ëƿˮ¡±¡£
ËùÒÔ£¬ÎÞÂÛÊÇ´úÂë×÷Õߣ¬»¹ÊÇÆÀÉóÕߣ¬¶¼ÐèÒªÒ»ÖÖ»ý¼«ÏòÉϵÄÕýÃæµÄ̬¶È£¬×÷ÕßÐèÒªÄܹ»ÐéÐĽÓÊܱðÈ˵Ľ¨Ò飬ÒòΪ±ðÈ˵Ľ¨ÒéÊÇΪÁËÈÃÄã×öµÃ¸üºÃ£»ÆÀÉóÕßÒ²ÐèÒªÒÔÒ»ÖÖ»ý¼«µÄÕýÃæµÄ̬¶ÈÏò×÷ÕßÌáÒâ¼û£¬ÒòΪÄÇÊǺÍÄãÔÚÒ»¸öÕ½º¾ÀïµÄÕ½ÓÑ¡£¼Çס£¬Äã²»ÊÇÒ»¶Î´úÂ룬ÄãÊÇÒ»¸öÈË£¡
3.5. ѧ»áÏíÊÜCode Reivew
Õâ¿ÉÄÜÊÇ×îÖØÒªµÄÒ»¸öÌáʾÁË£¬Èç¹ûÄãµ½ÁËÒ»¸öÈËÈ˶¼Ï²»¶Code ReivewµÄÍŰ¢£¬ÄÇô£¬Äã»á½øÈëµ½Ò»¸öÉú»ú²ª²ªµÄµØ·½£¬ÔÚÄÇÀÿ¸öÈ˶¼ÄÜд³öÖÊÁ¿·Ç³£ºÃµÄ´úÂ룬ÔÚÄÇÀÄã²»ÐèÒª¾ÀíµÄ¹ÜÀí£¬ÍŶӻá×ÔÊÊÓ¦Ò»Çб仯£¬ËûÃÇÏ໥ѧϰ£¬Ï໥°ïÖú£¬²»½ö½öÊÇд³öºÃµÄ´úÂ룬¶øÇÒÍÅ¶ÓºÍÆäÖеÄÿ¸öÈ˶¼»á×Ô¶¯½ø»¯£¬×î¹Ø¼üµÄÊÇ£¬Õâ¸öÊÇÒ»¸öÍŶӡ£ |