@check_for(Function)<EOL><INDENT>def check_imperative_mood(self, function, docstring):  <DEDENT>
if docstring and not function.is_test:<EOL><INDENT>stripped = ast.literal_eval(docstring).strip()<EOL>if stripped:<EOL><INDENT>first_word = stripped.split()[<NUM_LIT:0>]<EOL>check_word = first_word.lower()<EOL>if check_word in IMPERATIVE_BLACKLIST:<EOL><INDENT>return violations.D401b(first_word)<EOL><DEDENT>try:<EOL><INDENT>correct_form = IMPERATIVE_VERBS.get(stem(check_word))<EOL><DEDENT>except UnicodeDecodeError:<EOL><INDENT>return<EOL><DEDENT>if correct_form and correct_form != check_word:<EOL><INDENT>return violations.D401(<EOL>correct_form.capitalize(),<EOL>first_word<EOL>)<EOL><DEDENT><DEDENT><DEDENT>
D401: First line should be in imperative mood: 'Do', not 'Does'.

        [Docstring] prescribes the function or method's effect as a command:
        ("Do this", "Return that"), not as a description; e.g. don't write
        "Returns the pathname ...".