I see this in professional work. The former reads more like English, and so there feels like there is an argument to be made that it is more readable, and also an argument that "the compiler will optimize it for you anyway".
Also why would anyone store a boolean named isDone rather than just returning it as the contract of the function