There isn't games that can be said as "this one is doing it right from start to stop" ; even mine wouldn't. The only possible advice is to look at (at least few) games that do what you want to do, and inspire from those that do it in a way you understand and that don't have bugs.
Yes, that!
First off, what is "right" for me may not be "right" for you. Part of programming is about style - coding in a way so that you understand the code and what it's doing. That can lead to very different implementations by different people.
Second, the "style" of code used for a visual novel is
completely different from that used by a sandbox game. I'm sort of assuming that you'll be starting with a VN - trying to do a sandbox game first is probably a lesson in how to flatten your head against the keyboard.
As
anne O'nymous suggested, for "general style," look at a variety of games, and see which game's code is the most readable to you. As just a very small example, Light of my Life breaks up the dialog portions of the code into relatively small chunks, nested into a hierarchy of subfolders based on when that sequence occurs. Obviously, that made sense to the developer. Some other games use one giant "script.rpy" file. I might suggest that the optimum is maybe somewhere in between, but that's completely up to you.
Different developers have different naming conventions. Adopting a naming convention is a good thing, because it can help you keep track of what's what and where's where.
Some developers put the "default" statement for variables at the top of the file in which the variable is introduced. Others put all their variables in a single "variables.rpy" file. Neither is "right" or "best" - it's what organization makes the most sense for you.
I did a lot of the "decompile every game you play" early on. The "compare and contrast different coding styles" helped me refine my own non-Ren'py programming "style" into the one I sort-of use right now for Ren'py. (And that's still evolving, to be frank.) What I find myself doing now is saying, "hey, that's a really neat effect - how'd he do that" and digging into the code to see what Ren'py wizardry was used. ("Creativity is the art of hiding your sources.") Sometimes there are 2-3 (or 17) different ways of accomplishing something, so it's always interesting to see what people come up with.
There are a variety of "best practices," of course. "default" your variables. Follow the "standard" indentation model. Keep track of choices that the player makes, even if you're not sure you need it - you might later. Put comments in your code to remind you six months from now what you were trying to do today. Stuff like that.
But, at the end of the day, the "best" code is the code you understand, can follow, and can maintain.