It's rather meta, but I've been really enjoying https://github.com/tonini/overseer.el. If you have a test suite for your elisp library, you probably use ert-runner to confirm your project works in a fresh Emacs instance.
overseer.el then allows you to run ert-runner tests from inside Emacs!
miniblog.
Related Posts
`init` feels like an unhelpful name in OO. It doesn't give you an initial value, it initialises the instance that has already been created. Developers are often surprised that init doesn't return the instance, because they have a strong association with `new Foo()`.
Perhaps `finish` would have been a less confusing name?
In Python I can choose any name for my instance variable when defining a method. In practice people almost always use `self`.
Go has the same flexibility, but using other names for the instance is totally normal!
Another nice feature of OO in Common Lisp: you initialise your class instance with the function initialize-instance.
So many languages define a 'construct' as a method that has access to the current instance, which is really kinda confusing (c.f. __init__ and __new__ in Python).