in reply to Re^4: The Boy Scout Rule
in thread The Boy Scout Rule
if ( $PERMISSIONED_USER_1 ne "" && $PERMISSION_TYPE_1 ne "" ) { # +HTTP POST if ( $PERMISSIONED_USER_1 ne "-1" && $PERMISSION_TYPE_1 ne "-1" ) { # +Web page $AppParameters{'OrderSignedBy_PermR'} = $ThisUser; $AppParameters{'OrderSigned_TS_PermR'} = $Signoff_Now_TimeStamp; $AppParameters{'OrderSignedFor_PermR'} = $PERMISSIONED_USER_1; $AppParameters{'OrderSignedType_PermR'} = $PERMISSION_TYPE_1; if ( $PERMISSIONED_USER_2 != -1 && $PERMISSION_TYPE_2 != -1 ) { $AppParameters{'OrderSignedFor_PermR'} .= "|" . $PERMISSIONED +_USER_2; $AppParameters{'OrderSignedType_PermR'} .= "|" . $PERMISSION_T +YPE_2; if ( $PERMISSIONED_USER_3 != -1 && $PERMISSION_TYPE_3 != -1 ) +{ $AppParameters{'OrderSignedFor_PermR'} .= "|" . $PERMISSI +ONED_USER_3; $AppParameters{'OrderSignedType_PermR'} .= "|" . $PERMISSI +ON_TYPE_3; if ( $PERMISSIONED_USER_4 != -1 && $PERMISSION_TYPE_4 != - +1 ) { $AppParameters{'OrderSignedFor_PermR'} .= "|" . $PERM +ISSIONED_USER_4; $AppParameters{'OrderSignedType_PermR'} .= "|" . $PERM +ISSION_TYPE_4; if ( $PERMISSIONED_USER_5 != -1 && $PERMISSION_TYPE_5 +!= -1 ) { $AppParameters{'OrderSignedFor_PermR'} .= "|" . $ +PERMISSIONED_USER_5; $AppParameters{'OrderSignedType_PermR'} .= "|" . $ +PERMISSION_TYPE_5; if ( $PERMISSIONED_USER_6 != -1 && $PERMISSION_TYP +E_6 != -1 ) { $AppParameters{'OrderSignedFor_PermR'} .= "|" + . $PERMISSIONED_USER_6; $AppParameters{'OrderSignedType_PermR'} .= "|" + . $PERMISSION_TYPE_6; if ( $PERMISSIONED_USER_7 != -1 && $PERMISSION +_TYPE_7 != -1 ) { $AppParameters{'OrderSignedFor_PermR'} .= + "|" . $PERMISSIONED_USER_7; $AppParameters{'OrderSignedType_PermR'} .= + "|" . $PERMISSION_TYPE_7; if ( $PERMISSIONED_USER_8 != -1 && $PERMIS +SION_TYPE_8 != -1 ) { $AppParameters{'OrderSignedFor_PermR'} + .= "|" . $PERMISSIONED_USER_8; $AppParameters{'OrderSignedType_PermR' +} .= "|" . $PERMISSION_TYPE_8; if ( $PERMISSIONED_USER_9 != -1 && $PE +RMISSION_TYPE_9 != -1 ) { $AppParameters{'OrderSignedFor_Per +mR'} .= "|" . $PERMISSIONED_USER_9; $AppParameters{'OrderSignedType_Pe +rmR'} .= "|" . $PERMISSION_TYPE_9; if ( $PERMISSIONED_USER_10 != -1 & +& $PERMISSION_TYPE_10 != -1 ) { $AppParameters{'OrderSignedFor +_PermR'} .= "|" . $PERMISSIONED_USER_10; $AppParameters{'OrderSignedTyp +e_PermR'} .= "|" . $PERMISSION_TYPE_10; } } } } } } } } } } }
And so on. Can you imagine the interview? "What data structure would you use to store 1 to 10 values of the same type?" — "10 variables?" — "Correct!"
Or, a quite common routine to inform the user about failures (notice the lack of a namespace compensated by the _ prefix because of Wrong + Right = Even Worse). The bonus points for anyone who can guess for a given call whether it will also exit or not:
sub OrderProcess_NotifyTheUser { my ( $ErrorStatus, $Message, $AndExit ) = @_; my ( $msg, $vmsg ); if ( $ApplicationName_Long !~ /Initial-Order/i ) { return 0; } #Exit if not the Initial ( ex. Changes ); if ( $ORDERPROCESS_STATUS < 0 ) { $ORDERPROCESS_STATUS = 0; } if ( $AndExit > 0 ) { $ORDERPROCESS_STATUS = $AndExit; + } if ( $ErrorStatus >= 9 ) { $TERMINATE++; $ORDERPROCESS_STATUS = $TERMINATE; } elsif ( $ErrorStatus >= 5 ) { $ERRORS++; } elsif ( $ErrorStatus >= 1 ) { $WARNINGS++; } $msg = $ErrorStatus . '|' . $Message; push( @LOG_MSG, $msg ); $vmsg = 'Time[' . &UnixDate( &ParseDate('Today'), '%H:%M:%S' ) . " +] $Message "; push( @VERBOSE_MSG, $vmsg ); &Log2File( $ErrorStatus, $Message, $Log_Key, $Log_File ); if ( $ProcessType =~ /SCREENPROCESS/i ) { print STDOUT sprintf( $DisplayVia_Browser, $vmsg ); }elsif( $Verbose && $ViaCommandLine ) { print STDOUT "$vmsg $myLF\n"; } # if ( $Verbose && $ViaCommandLine ) { # print STDOUT "$vmsg $myLF\n"; # }elsif ( !$ViaCommandLine && $ProcessType =~ /SCREENPROCESS/i ) { # print STDOUT sprintf( $DisplayVia_Browser, $vmsg ); # } if ( $AndExit && $ViaCommandLine ) { OrderProcess_CustomExit($AndE +xit, $OnExit_callBackSubroutine); } }
Based on the real code. All variable names were changed to prevent any harm to living programmers.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^6: The Boy Scout Rule
by Your Mother (Archbishop) on Jan 27, 2015 at 17:39 UTC | |
Re^6: The Boy Scout Rule
by BrowserUk (Patriarch) on Jan 27, 2015 at 17:36 UTC | |
by choroba (Cardinal) on Jan 27, 2015 at 18:03 UTC | |
by BrowserUk (Patriarch) on Jan 27, 2015 at 20:36 UTC |