The Wrong Kind of Paranoia
prog21.dadgum.com
The Wrong Kind of Paranoia
1–10 of 54 posts
Re: The Wrong Kind of Paranoia
#2Re: The Wrong Kind of Paranoia
#3Is he talking about multiplayer or has anyone ever actually seen this?
Re: The Wrong Kind of Paranoia
#4"There's an architecture used in video games for a long time now where rendering and other engine-level functions are decoupled from the game logic, and the two communicate via a local socket." Is he talking about multiplayer or has anyone ever actually seen this?
Steam's Source games, UT do this, if you open up the console and scroll up you can see the local server initializing.
Re: The Wrong Kind of Paranoia
#5"There's an architecture used in video games for a long time now where rendering and other engine-level functions are decoupled from the game logic, and the two communicate via a local socket." Is he talking about multiplayer or has anyone ever actually seen this?
Re: The Wrong Kind of Paranoia
#6Autocomplete is a thing. Even if there is a big comment explicitly saying not to use a function, if it doesn't show up in the autocomplete window someone will inevitable use the function anyway (and sometimes even if it does).
Re: The Wrong Kind of Paranoia
#7If I mark a method as internal, that means I intend it for reuse within the library but don't expect it to be used by any external caller, which means another developer can come along and make changes to it without needing to worry about anything outside the library (short of those in C# using [InternalsVisibleTo] or similar, which hopefully is restricted heavily to obvious test projects).
By decorating my code appropriately, I don't need to write comments most of the time, which means I don't run the risk or filling my code with out-of-date or poorly understood annotations that become useless almost as soon as I finish writing them.
Re: The Wrong Kind of Paranoia
#8Const also allows the compiler to optimize better with the knowledge that the called function won't perform any writes to the object state.
Access modifiers give you a way to separate out functions that can be called externally vs those that shouldn't. The API doc generator won't know which is which unless you mark these correctly. You use access modifiers to show intended use and keep things clean, not to lock someone out. Same goes for internal classes.
Re: The Wrong Kind of Paranoia
#9Over here in the dynamic languages world (JS, Ruby, Python, etc) I often cry myself to sleep because I spend hours debugging something that turns out to be preventable with a const or a private function or something.
Re: The Wrong Kind of Paranoia
#10"There's an architecture used in video games for a long time now where rendering and other engine-level functions are decoupled from the game logic, and the two communicate via a local socket." Is he talking about multiplayer or has anyone ever actually seen this?
Also, Minecraft uses something vaguely similar, with a separate client and server, with the client and server communicating locally via shared memory (effectively a local socket, but not bothering to bounce through the OS). Though Minecraft's an odd case - they used to not do it this way, and switched to it, and in the process broke a lot of things.