Zaawansowane metody refaktoryzacji kodu Nulls Removal
Transkrypt
Zaawansowane metody refaktoryzacji kodu Nulls Removal
+=#!& !"# " $ #! %& #' " " !( ") ! (! * & , ! ! " (! " -! "! " !! . / 0 1 "2 () * 3 ! !4 ( "3 "2 "4& 5*) (! ! " ! * " %'3 4 " 2" !!1 -! (2)& 5 -"! * " ! * " -! "( 6 3 ) 1 ) "2& !" # $% -! "3 " " *+ !( (2)3 ) !(! (! "2 (2 "73 + 3 & 8 " " " (2)3 ) - !4 (+ !! " 3 ! " (& 5!(!+ " *4 ( 2* " "2 + "1! " "!" & 9(2! 1 "2 " 2 !) %4 !! 2!'3 ) 4 + *4 ""! "& :! (2! 1 "2 + "1! & :-1 1 ! (2) % (2! (6 ! !+ !' "1 (* ( ! "7! # + )3 7)( "1 2* ; < ! "!" !) % 3 ! + * 2" )( 3 (* !+ " # "' & " < -! ! ! % " "! !+ ! -!' -! (2 ( !* " ) % ! ! 1 21' # ! ( "! ! "2 + < < >2*4 (2) - ! 4 ""1 2 "+ 2! & 8 1 1 2 ! ! 3 (* " 3 - ( 1 " " * (* "! 3 " 2"! 7)( " ?9$00@ABC& D"( "! 3 - "1 ! 2 "1 " * & E"1 ! + (! " 3 ! "1* )& "!! ! -! !* " 1 "+ ! %() 2 1 -*'& 5 "! " " "2 ! 6" " + 3 ) !1 (! "2 ! * " ! !(! "1 "2 2! 3 )! * " "1 !+ "! # 3 - )4 " !"2+ 1 2! 3 ! - !"4 *4 "1& E " * " " (2"! "2 ! 2! !& & $ F ! 3 & "# $$ ? G,H@@@C + *1 1- " " & E" !3 1 %$! $& 1 (* " 3 ! * *& I" " #!2 "!" "!" !+ ! & 5 ! " " "" #! + !# "")3 ! "( "2 ! (2! 1 !"2 * "!& " ! "1 ! " (63 ) - 4 " " + * " & >(*4 "!" !! (6 " !1 + ) " "2 ! '( & 0 1 "2 ! + * )3 ) - " 1 ! " - " 43 - ! "! -! * " " + ! 3 ! / * 4 ) & #! - !4 "" 2"* + 5 ! "" " " *1 *4 "13 "! * 3 # 3 J " ! " 1 "(-!4 " "!" ! 3 )1 ( / 3 ) " + " !2 *"& D" ! #! ," $ K !+! 2!) "1! "7& 5 " )* "( " " " 2! 8K3 )! - !4 ! "+ "! 2! & , 3 ! !+ !" "2 "73 ! # & $)- 2! ! !3 - "7 1 !4 " 2 2 3 ! + "2 " "! ! " !& 0!* "7 "! * "1 " # + * & ! 4 " ) " 3 ) !"! * !!3 !"! - * + "4 ! & 8 " ( "! " 2* " ) #!& & '( ) * "! !( "! %& ?:JHG@@3 EL9=@@C'& 5 " 2! + ! " ")* ! & H !( 8K " *4 3 )1 - !"4 # 3 * ! !)& : ! "2 *4 !*13 ) - " (4 * " & 5 2! EMF * ( " 2" !! 6 ?:JHG@AC ( " !2 !+ 6& 8 ! ) " #3 - ( " ! - "2 (+ 4 ! ! 3 - * ! % "!'3 ! * & + "( : " & 5 * " )+ - (1!4 2 )+*1& : 1 2 + ( !"11 * !" ?:JHG@@C& =" * " !! % " )* " !!' 2+ ! " ! ("*& 3 - " " ( -!3 (2! "(! + !# 3 3 - " ! & , *3 ! )* ! * " 1 !3 ! + ( 1 " "& E ) " ! ! # )& 5 ! - !+ ( (" (1 ! "!" !)& ! " #" $$ %&' O & " !-"! !* !3 - *4 " -! * - !& J! !!4 (1 ! " "" (-!+ ) !1! 2 (! " %$! '& J - !4 ! " 2 -*4 " * - -* " !3 " + (6 ! 1) ! !& J (2! "1 1 ") "11 !!1 ) !+ * #* + * , * - !& 5 "!" ! ! " "! "!" !) ( "2 + !& ," "2 ! ! " " " 4 2! "1 2 !) * 4 " ! * "!& 5 2! #!! & .F ! *4 "1 * !3 ) " 4 ) "1 2 " ?.=F,@@C& - -! " " ) + " " 1 ! 6" & , ) 2! 1 * & D(13 - " * "! 1 ! * " "1 & 0!* ! * 1 23 - - 4 ( !4 !!1 !! %(2!' + 6& ! * " !1 ! -! ( * 3 EH& H ) " "1 "+ ! *4 " "& >2*! 1 " ! $ 3 )! 2 # "( % " !1' + ! 2 ( ?$JH@@C& 8 " ! - " & 82! ! 8K >NN (! - " ) "+ * "!& ! " # " ! !3 ) "1 4 1* *4& J! " ! -! - !4 ! " & * 2" 1 " "2 " - " + * !"1 *4 "1 3 - "+ - " " * "3 2 )7 "! " & 0!* 1 & " ! + - 4 ( " (23 ( "2 " *& >1 14 !- ! ! (2) - !#4 "! 2! 3 ! -!(! "2 & .F % " "1 )! & ?J9=H@@BC'3 4 ! ") 4 * & H " 1 3 1 !# 2! ! ! ) )3 ! " ! 3 2" "!! 2!& .- !4 1- ""3 ( " 3 + 43 - " "2 !#& D ! ) "" + &&& !"( 1 "2 1 !! * *! " "!3 " 6 ! 2!) 2+ ( 2" & D" 2 !4 " 2!3 ) (! 4 + *4 ! 2* * + " 3 -! (-!4 " (* "! 3 ) "1 "2 2 -* ") ( * "2 ! ! & . ! " #! ! + "4 " 3 ) " ) 1 2 ! -! * " 3 -* ! & 5 "2 2*3 !- " #!3 " " (6 ")1 1 (& .1 ) + ") * "" * " 1 - 1+ 1 "2& 0!* 2 !! 2+ !) ! 8K3 >NN3 ! >P " - ( !+ "" * "!" !& 8 2 -* - 4 *4 3 " ) -! "( "!!3 ") ")( 2* !+ !" ! & 5 "! 1! * "! & * H #! " " 1 & E !# !( ! ?0:@@C& 0" * !"( 1 *4 "!" !! !"2+ ! # / ?/05F@@@C& 0 *( " * ! * " 1 3 ! #*& :"( " 3 - " ! " !3 ! !3 ! ! * 3 " 4 4& / ( " "! -! % " " "1'3 ) - 4 ; < < < "1 ! *4 "1 *4 (1 ( "1 ( " " 1 " "!" ! + ( 3 ) " - !4 ! 3 !4 2 (*! + (- & H (* (- "! *1 "4 " -13 " -! 4& D"! ! "4 " "3 )! " 1 " *3 )! " 11!& D*4 * ) "!Q ( "! !3 ! + "!3 "!3 "!"! !! (2)& & " / " "1- ! *4 (1 "2 "3 ) - + ! 3 1 "!3 (2 & H " ! !4 "!" ) & *4 - !4 - ! ! & (*4 + 3 !"*4 " *4 "& 5 (1 " " & : + -! 2 ""4 !*1 " 2 (3 ) "(4 "2 "21! ); < < < < * ) "( ! ) ! ") "!! D"" "( ! 4 -*4 (2)3 ) (!! "4 "! ) ( * " ! & : - ) ! !4 "!3 ) !-13 - "2 + ( "3 & =" 1 "1 ! "") - !!3 ! 14 (2)& 0"12 #+ * ) "2! ) "1 !4 " ( 3 ! - !( + 1 !#2 !4 ?0:@@C& - 4 "! 2 (-*& " ( % !' ( 1 "2 !#+ 43 " ! (- % "!3 ! + "!' !1 ( & 5! "23 - + "! "1 1 "! 2 3 ) - ") "2 * ! ?8L,=C& >2" !(! "! ! # !1 * ! "+ ! 6 # "1 " "" !* & J " *4 "! "!" !! " ) #+ ! ?/05F@@@3 $G/3 G$=C& 0"1 -! + "( 6 "1 "2 43 - ! " + 3 " "!& $ ! *+ " !# *4 * " 1 "! ")3 *4 ) ! %$! .$ ' ?0/@@C& H3 ! )3 -! ( !*1 !2 !" !1 ""& J 2 ! >JEG )- *" + "! !1 " 4 #!2& , ! "! "1 " ") "2 ! !! (& .- !4 & ! " ! "! ( )-! "& J! ( 2* !3 - #1 "+ 4 ( !# "! ) - 2 ! + 4& D" ! #! ," $ K B * + ) 5 "( 6 ! / ( "2 + * / *$ %$! /&! - ") " " !3 ) "2 !!" + "! ) "!3 0 1/ 3 " 5# ?500F@@AC& .!1 " ! 1! "2 + ") * & :( " !# * " " "2 2*1 & 5! !" ! "! - 4 " " 4 & D!" " " 3 - ! !+ !"1 1 "2 1 4 )- 2! 1+ ! 1! & 0) ! " !( " ""+ " & !( ! " *4 3 " (! + !& = " !* " " !# "! "-3 )! 4 2 " & E ! !# " " " !" & :2 ( "" * %#3 " "'3 " !# "- " ! 23 ! !"1 "1 )-4 "(! )& 8 " ! !" "" ! 1( " + * # ! ! " !& ( )*% + % % ,- * ( )*% ' % + % %% % ,- %% * ( ( ! ( ( ! + + * ! * ! ! . * // ! . * ! ! . * ,- ! ! 0 ,- 0 ( %% ' % + ( ( ! ,- ! + 0 0 0 0 0!* "" " (2"! " " * -! "2 (1 2$ % ?0/@@C'3 )! 3 ! "( "!"+ ! & 5"!" ! " "1 2* ( " "1 -! ")& :2 !3 ! + -!4& A & " # # ( $ ,--.//01 ()1 !1 " " " + ! 2 " !# " & D)4! 2 3 - ! "! !! "2 ! * & , ( "2 " 1 3 !- # # " * & , " ! " " "2 ""4& 5# * ) -3 - " - !4 !3 ! )- 1 "2 3 !14 * & 5 "! - *4 - " + * !3 ! (1! )3 1+ ! )-! "")3 -* ! ?500F@@AC& 5 "2 2* " -* " * " !+ "21 ) - ! !& 2 # 5 2* " " -* "" #! + ) !1! "" ! *& 921 2 "( "! 1! "12 " * (2!& ! " " * " + ) * ! -* "& , "1 )1 "!" ! ) * "! !! * -* 1& 5 " 2* " " "2 * "1! ! ! "7 ! 2""! 7) ( (2) & 5 2"* !! 2!) ! + (* ! "7! %! - # !!' 1 *4 "1 " + 2 ! ()& D! " "" ! + *4 !; < < !"4 1 *4 "( !43 - " - 2 #4 "!" &&& < < -* 2 !43 - "( "12! (! " ! * 3 ) ) " - " ! "2 21 (! !4 "" ! "!" ! ! )3 4 )! ! - "2 14 ! & D! 1 !4 + # $ 3/! 0 ! " "2 * ) )& " ("* ) "1 1 " !#1 "! !& >2" "23 - ("*4 * - 4 !" *& I" 2 #1 ) * " 2 !!2& .1 !4 4 4 ( $3 & , ! 3 "!#3 1 " !2 !& D)4! 2 1! " 3 )! )!* -!+ " !4 " " "2 ! !(1 "1& >2*4 ("* - "4 " & .- "43 ! ! 1-!( " " "( !3 )! 2 ( + !"*4& 5 ! -(! 4 " "& 8 + " - !4 ! ! & >(! " + 5& E1 "! 4 "(! " 2! ! ?JF9J@@3 /05F@@A3 80:RC& $) - * ! ! )(+ "! 1 " " ?J9=H@@B3 S.FEC& 2 "! " ! "" * + !& 5"7 2 -* ! !4 !" 1 *1& 0!* " " ! 3 2 " + !4 "2 " )1 !(*1 1 3 ! "! !4 "" * "!& 2 # !"1 !"1 2& 3 > " ! " * 1! !+ & " " * " & H # "1 *4 " " - !4 ) - !3 17 *+ -! !" *& .!# ! * + -! 3 ) !"3 ! " ( ( *4 !*1 %2* "1 '& " 1-!4 ! "3 ) * 1 -! & 5 ! ( " -! ! " " " !3 " "2 "" (* -! & # )7 !3 " (1 "2 * " & :2 ) - )4 2"1 2 -! 4 + ! & J! 4 "3 - ""4 " !"! )4 23 ! ! "" "2 "( & 8 * " - 3 "2 4 ! 14& 0 !3 4 ! " "2 " "2 * + " ) ) %'( '& H + 1 "2 ! !1 3 - 2" - !4 + !(1 ! " & D! 2 - " + " *3 )1 - ! !"4 " 1 " & 0!* " - ""4 "! * "! %1/'3 (1 " 2$ 6$ !"! "+ "!& 5! "2 3 - - ! 2" !(! 1 " & "2 1-!4 3 ! 6 ! " "!" "(! " & E )(! "2 !4 7 / & 2& $ 5 )! 2! % & 8K ' " !" + *4 "1 # ! #4 * 2 %$! 8/$ + 8+' -* 2 ! "!! 1 & " #3 - " # 3 4 - " 3 " - !4 (2 -! ! "& 2& # + 0 D" ! #! ," $ K 2&& 3 " " !"!4 *4 "1 3 + !" "2 " & 0"1 !"& 24 - !4 !"3 6 + ! & -*1 "!" - 4 24 ) " "1 # 2& 0 "2 "") 2 ! !! ! " "2 "!& : 2 !"1! " "2 + ! " 3 )! * " 6 ! + & =" !1 * %' " "2 ! "! + " & "( " %' " & J! 4 " -! )4 2 !" * 3 )! " - -!& , ) ! #1 !+ !4 1 !1 ! & , (1 * + " !(2 -!( - & :2 2 " " " 2 ( (2& 2* $ 5 ! " 1-!! "" * ( " & D" ! !4 "" !1 + ! 2! " %$$3 $ * / '& 2* # 3 2,2 1 5 2*& 3 * + 2,2 - 3,4&' 0 - 3,4&' + 1 0 *+ 5 0 & " ,"" " " !( 3 ! !!"!( !1 " " ! !& > (" !1) " 3 - ! " -1 * - !3 " ! " !" "(1 "!2 !11& 0 3 - 2*4 3 ) " !! ) "! ! "1(3 "1( " )! ! %'3 " "( & J! !4 ! ( ! ! !+ 1) " " %' ) 2* * -& >2+ * - *4 * !- ! " + *4 6& 9 %O' %' " !! %'& H " ( 2 !4 ""! ! " )! "! !& .- - !4 "23 - )! "! %' " - !4 "! ! "3 1 & 2** # ! 2,2 # 1 5 2,2 % # 6 % 1 5 2*2 3 8 " 1 / 3 ) "( " 2*& $)- !3 - "" ! "! ! * 2 " ) #*3 ) - " * 3 !"( )- "& &&& & 4 ( $ "5 $ # ( % - 6 5 )! 2! - " 4 6 3 -! - !4 & .- ! !#4 " + " ! 4 2 11 )-4 ! " "(! %!" '& E" ! ! " ; % =! -! 1 " " "! "! 2 2 "2 * !# "! & + ); % J! 4 "3 - !4 1 #!2 -! )4 2 !"! * )7 " " 3 ! "+ 1 *4& 8 " 2 "! / - 1 "! "2 ""+ 4& 22 J ! ! 4 * + " * " ! " 4 !1& 1 *4 3 1 * 1 1* + 1 *43 ) !4 )3 " !* "! " + !& D)4! 23 - ! ( " " !+ *& 5*4 " - "4 ! " - !& %0 2"*4 2!)3 ! !! 13 !" ! *&' 5*4 2* - !4 ) 2 " )! !3 )! "! & 5 + "! " ! "2 -! !1)& 22 # ! ' * + 2,2 0 ! ' * - 3,4&' + 2,2 - 3,4&' 0 O & " 22& 3 D"" "( !*3 ) "1 + " -!1! !1)& - ( #4 )-! "(! & D *4 ( ! #4 ! ! "! !1 & :2 !1 - - " "!+ ("4 " !( ! & 5 ! 8K! " !3 !- !" # "2 -! "! !1! !" " + " !( !& : " 3 ! ! 2! !1+ )3 17 -! " - ! 2)& 5 "!+ - ""4 " ! " & H + #4 " 1 "23 ) 2 ( 1 *4 "! !1 & .- ! ! )-! + ) !4 & " 4 1 #*43 ! -4 3 )! 1 2 !((& 7 ' H 2 #! "1 " 1 1 ! * -! & D"(! !2 ! *" ) ! ) - !(! 1 " 2 ") !& D #! 1 "- + "! ! " ) " ! 1! !"2 * " & " ! (1 ) ! !)3 )! ( "2 ""4 #!2& E !" "!" " * * !" ") * "!& * 4 3 - " ! (1 + ! !4 !(1 "-*1& L"!" ! " ) ! ! )& " ) ") "" * ) "2! (4 + 2 ! *" "1! + !1 )(!1 #!2& !($ ?J9=H@@BC E& J 3 E& M""3 E& .T3 E& 5 E& 5 3 0 9 : $$ 3 = 8 D" ! #! ," $ K : F "3 & A+AA3 3 3 @@B& ?JF9J@@C J& J3 J& 9 3 J& J& 0"3 7 1/ . '3 @ = ># U ! F :+ 9" "3 :3 = 3 "3 @@& ?9$00@ABC /& & 9"3 ( / $$3 =GGG > 3 +@3 J3 @AB& ?:JHG@AC >& 8& : 3 - ./ $3 $ :+ " ; E 5"3 J"+5 " !3 @A& ?:JHG@@C >& 8& : >& 8& : 3 1 7$3 $ :+ " 5" @A@+@@3 J"+5 " !3 @@& ?:JHG@@C >& 8& : 3 $ /3 J = :+ " E!" "3 J"+5 " !3 @@& ?/05F@@AC .& / 3 .$ '3 L" 3 @@A3 ;VV&&V" V "V++A@O+V "+&& ?/05F@@@C .& / 3 '$; *($ .$ "#$ +3 J"+5 " !3 @@@& ?0/@@C G& 3 G& T 3 G& 8" G& U"" "3 .$ ; " '/ 1/ 1 23 J"+5 " !3 @@& ?80:RC J& 8("3 J& T 3 J& ( 6 J& E 3 1/ ' 2< 7**3 :" GW E!" " J"3 = ># 3 :GSJ 3 E + & ?8L,=C 9 3 =4 0$ 63 ;VV&&& ? G$=C 8& K"!3 '$ 3 #3 ;VV"&VWV #V& ? G,H@@@C & 9 3 "# $$ "#*; "/ +$3 J+ "+5 " ! >Q " 0 3 @@@& ?.G=8C G& . G& !3 2*$ !"0 $ 3 = & G>00X& ?.=F,@@C $& . 3 $& H# $& T 3 0 . 2 93 .=H ""3 > 3 @@& ?0:@@C 5& /& 0! 3 '$ 1/1 63 $+ :"3 LK "! # =" L+>3 @@& ?$JH@@C ,& 3 7 8 1/ 9$$ $ .$3 $ & > 8& E :&3 J"+ 5 " !3 @@3 ;VV&&V" V "V++BO+O& ?$G/C . / 3 !$!& ?EL9=@@C & E 3 & !"3 & F "!" & L"3 & " - 1/ <; $ > 23 0+ @@3 ;VV " && &V" @&& ?500F@@AC 9& 5#3 0 1/ 9$$ $ .$ )3 $ & . $& >&3 $ :3 9" /&3 J+ "+5 " !3 @@A3 ;VV&"&"& VY"VF+@V#&"&& ?S.FEC 5>3 ?9 2 2 .*3 3 ;VV&&VH$V&