On 15 March 2013 16:20,  <simonetrip...@apache.org> wrote:
> Author: simonetripodi
> Date: Fri Mar 15 16:20:27 2013
> New Revision: 1457003
>
> URL: http://svn.apache.org/r1457003
> Log:
> checkstyle: magic numbers

-1

Although these changes don't affect the code, they are wrong.

Just because the same number (e.g. 3) is used in several places, does
not mean that it represents the same value.
For example, 60 is the standard number of seconds in a minute, and
minutes in an hour, but code needs to use different names for them.

The numbers now replaced by MASK_nBITS fields were used as shift
counts and index offsets, not masks.

Different constants must be used for each different use, even if the
values are the same, and the name should reflect the meaning of the
constant.

> Modified:
>     
> commons/proper/fileupload/trunk/src/main/java/org/apache/commons/fileupload/util/mime/Base64Decoder.java
>
> Modified: 
> commons/proper/fileupload/trunk/src/main/java/org/apache/commons/fileupload/util/mime/Base64Decoder.java
> URL: 
> http://svn.apache.org/viewvc/commons/proper/fileupload/trunk/src/main/java/org/apache/commons/fileupload/util/mime/Base64Decoder.java?rev=1457003&r1=1457002&r2=1457003&view=diff
> ==============================================================================
> --- 
> commons/proper/fileupload/trunk/src/main/java/org/apache/commons/fileupload/util/mime/Base64Decoder.java
>  (original)
> +++ 
> commons/proper/fileupload/trunk/src/main/java/org/apache/commons/fileupload/util/mime/Base64Decoder.java
>  Fri Mar 15 16:20:27 2013
> @@ -25,6 +25,26 @@ import java.io.OutputStream;
>  final class Base64Decoder {
>
>      /**
> +     * Bytes per undecoded block.
> +     */
> +    private static final int BYTES_PER_UNENCODED_BLOCK = 3;
> +
> +    /**
> +     * 2 bits mask.
> +     */
> +    private static final int MASK_2BITS = 2;
> +
> +    /**
> +     * 4 bits mask.
> +     */
> +    private static final int MASK_4BITS = 4;
> +
> +    /**
> +     * 6 bits mask.
> +     */
> +    private static final int MASK_6BITS = 6;
> +
> +    /**
>       * Set up the encoding table.
>       */
>      private static final byte[] ENCODING_TABLE = {
> @@ -101,7 +121,7 @@ final class Base64Decoder {
>          }
>
>          int  i = off;
> -        int  finish = end - 4;
> +        int  finish = end - MASK_4BITS;
>
>          while (i < finish) {
>              while ((i < finish) && ignore((char) data[i])) {
> @@ -128,40 +148,40 @@ final class Base64Decoder {
>
>              b4 = DECODING_TABLE[data[i++]];
>
> -            out.write((b1 << 2) | (b2 >> 4));
> -            out.write((b2 << 4) | (b3 >> 2));
> -            out.write((b3 << 6) | b4);
> +            out.write((b1 << MASK_2BITS) | (b2 >> MASK_4BITS));
> +            out.write((b2 << MASK_4BITS) | (b3 >> MASK_2BITS));
> +            out.write((b3 << MASK_6BITS) | b4);
>
> -            outLen += 3;
> +            outLen += BYTES_PER_UNENCODED_BLOCK;
>          }
>
> -        if (data[end - 2] == PADDING) {
> -            b1 = DECODING_TABLE[data[end - 4]];
> -            b2 = DECODING_TABLE[data[end - 3]];
> +        if (data[end - MASK_2BITS] == PADDING) {
> +            b1 = DECODING_TABLE[data[end - MASK_4BITS]];
> +            b2 = DECODING_TABLE[data[end - BYTES_PER_UNENCODED_BLOCK]];
>
> -            out.write((b1 << 2) | (b2 >> 4));
> +            out.write((b1 << MASK_2BITS) | (b2 >> MASK_4BITS));
>
>              outLen += 1;
>          } else if (data[end - 1] == PADDING) {
> -            b1 = DECODING_TABLE[data[end - 4]];
> -            b2 = DECODING_TABLE[data[end - 3]];
> -            b3 = DECODING_TABLE[data[end - 2]];
> +            b1 = DECODING_TABLE[data[end - MASK_4BITS]];
> +            b2 = DECODING_TABLE[data[end - BYTES_PER_UNENCODED_BLOCK]];
> +            b3 = DECODING_TABLE[data[end - MASK_2BITS]];
>
> -            out.write((b1 << 2) | (b2 >> 4));
> -            out.write((b2 << 4) | (b3 >> 2));
> +            out.write((b1 << MASK_2BITS) | (b2 >> MASK_4BITS));
> +            out.write((b2 << MASK_4BITS) | (b3 >> MASK_2BITS));
>
> -            outLen += 2;
> +            outLen += MASK_2BITS;
>          } else {
> -            b1 = DECODING_TABLE[data[end - 4]];
> -            b2 = DECODING_TABLE[data[end - 3]];
> -            b3 = DECODING_TABLE[data[end - 2]];
> +            b1 = DECODING_TABLE[data[end - MASK_4BITS]];
> +            b2 = DECODING_TABLE[data[end - BYTES_PER_UNENCODED_BLOCK]];
> +            b3 = DECODING_TABLE[data[end - MASK_2BITS]];
>              b4 = DECODING_TABLE[data[end - 1]];
>
> -            out.write((b1 << 2) | (b2 >> 4));
> -            out.write((b2 << 4) | (b3 >> 2));
> -            out.write((b3 << 6) | b4);
> +            out.write((b1 << MASK_2BITS) | (b2 >> MASK_4BITS));
> +            out.write((b2 << MASK_4BITS) | (b3 >> MASK_2BITS));
> +            out.write((b3 << MASK_6BITS) | b4);
>
> -            outLen += 3;
> +            outLen += BYTES_PER_UNENCODED_BLOCK;
>          }
>
>          return outLen;
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to