To point 1: If you have a large change, spend time on splitting up the task.
More to 1: Do not do major refactoring. Even a small name change can spread out to a number of files, besides you risk being rejected simply because the main author(-s) don't share your naming philosophy. So always discuss refactoring changes up front, and let main author(-s) do them.
To point 3: If it is so complex that you have to comment, you probably wrote too complex/unclear code. Try simplify before pull request.
Thanks. I took note 📝
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.