Skip to content

Null flag bug pattern

Nogle gange er man som Java-programmør "fristet" til at returnere en null-pointer når man arbejder med exceptions. Dette er ikke altid praktisk - faktisk er det skidt for ens kode, da kvaliteten af koden falder. At returnere en null-pointer (eller blot null) er også kendt som null flag bug pattern.

I stedet for at returnere null burde man overveje at smide en exception. Lad os tage et eksempel:
public Object next() {
    try {
        String result = internal.readLine();
        if (result == null)
            throw new NoSuchElementException();
        else
            return result;
        catch (IOException e)
            throw new NoSuchElementException(e.toString());
    }
}

(kode-stumpen er taget herfra)


Hvis det ikke er let at se hvorfor det er bedre at smide NoSuchElementException i stedet for at returnere null, vil jeg henlede læseren opmærksomhed på null flag bug pattern. Den er forholdsvis kort og overskue, og giver en let måde at øge kvaliteten af ens kode. 

Trackbacks

No Trackbacks

Comments

Display comments as Linear | Threaded

No comments

The author does not allow comments to this entry

Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

You can use [geshi lang=lang_name [,ln={y|n}]][/geshi] tags to embed source code snippets.
Form options