
* MRP: Multiple Reponsibilites Principle. Instancing an object costs one frame and every external call release your lock on "self", so make sure to use as few classes as you can and stuff as many responsibilities as you can into every single one of them.
* RY: Repeat Yourself. Remember that one papyrus call is about one microsecond long and a frame won't run papyrus for more than 1.5ms, so all scripts share a meager budget of a few thousands of calls per frame. Avoid helper functions, copy-paste!
* ASP: Arrays Substitution Principle. everything you can do with an instance, you can do it with arrays. And arrays are your friends, because they translate into mere opcodes and not decade-long function calls. 500 lines of code full of arrays manipulations are better than one function call. Fortran 77, we will never forget you.
* KICK: Keep It Circumvoluted, Kk?. Did you ever program in asm on the 80's computers? Sure, your code was horrible but at least it ran on the weak CPU we had at that time. Thanks to papyrus, you will miss that, because your code was not so bad compared to what you are writing now.
* DCP: Dependency Confusion Principle. Since native calls take one frame, you need to spread those calls on many objects. So make sure to write a real asynchronous spaghetti code where John talks to Bill, expects an answer from Fred 0.5s later, while Mary and Louis feed Bill with all the stuff he can eat meanwhile. You are glad to not have lambdas, are not you? Wait, you're deadlocked already?
PS: If you do not know what all of this is inspired from (welcome into the world of programming, newcomers), search SOLID, SRP, DRY, LSP, KISS and DIP in Wikipedia.

