> it does not need good variable names or functions/methods/class names,
It's the exact opposite. It's too good at naming things. It insists to use variable/function names that make sense in plain english, and often make mistakes when the API has inconsistent naming, or consistent but unusual naming.
For example, it makes mistakes when writing code that use "Loop" in Blender API. And the reason is quite obvious to me: because Blender's "Loop" is not what loop means in plain english.