I try to keep as much cocos calls abstracted away behind an interface as possible when I can (I never call CocosDenshion functions or change scenes with CCDirector directly for example), for this it’s kind of moot, you’re right, but I also got tired of seeing the same single line everywhere copy pasted when it was always just getting the size.
I have a lot of class functions that need to know the size, origin, and other things. Originally I had members at the object level that I would initialize so I didn’t have to call
CCSize size = CCDirector::sharedDirector()->getWinSize();
more than once, but it turned out that every object needed it, so I opted for that.