It's not always reliable however, if you add/remove variables in your UCLASSES or USTRUCTS, or the values in your UENUM, it can fail or have unpredictable results, or at least it did as recently as 4.18/4.19.
Otherwise if you're just adding/removing code from classes it works extremely well and saves a lot of time restarting the editor.