The other thing I struggle with is being able to recall things in detail from what I have previously worked on. "What was x called that did Y you were working on last week?" I really struggle with that style of question.
For the spelling of variables names I use vim with spell check and mostly use ctrl+n to complete words so that they are spelt the same throughout. For the memory of function names being able to spin up a repl or run a subset of unit tests/ google/ autocomplete based on the estimated available properties of an object normally get the job done.
There are some really nice spell checks that integrate with vim that check the spelling of the words broken up by underscore so that each is checked individually. That helps a lot when writing a variable for the first time.