Who are you writing your code for? How will they use it? Do they need simple or complex?
The ultimate answer is “I do not know.”
Sometimes a plugin update stomps all over your non wordpress.org hosted plugin, and it’s all because of name collisions.
Code can be bad while still being totally right.
I really like the editor on Ghost