Not really because there are two kinds of c programer out there.
1. Those that communicate with the outside world exclusively via library calls to an operating system.
2. Those that do not.
People that live in world #1, usually don't get people living in world #2. Example.
// wait for write ready
while((spi.S & SPI_S_SPTEF_MASK) == 0)
;
spi.D;
spi.D = data;
Guess what,
No spi.D; is actually important.
No just because the program never writes to spi.S does not mean you can delete the while loop.
No you cannot reorder any of this and have it work.