Generates a random person's name which has the following structure
        <optional prefix> <first name> <second name> <optional suffix>

        :return: a random name.

def name():
        """
        Generates a random person's name which has the following structure
        <optional prefix> <first name> <second name> <optional suffix>

        :return: a random name.
        """
        result = ""

        if RandomBoolean.chance(3, 5):
            result += random.choice(_name_prefixes) + " "

        result += random.choice(_first_names) + " " + random.choice(_last_names)

        if RandomBoolean.chance(5, 10):
            result += " " + random.choice(_name_suffixes)

        return result