I would suggest to read the articles I have linked here 3 years ago:
and here:
They are not on different PCB styles but about ‘the only one right style’ .
In my opinion reading them are enough for 95% of PCB designers (the 5% I left for extra high frequency designers).
Almost all my PCBs are 2 layers. I always at bottom have full, continuous GND. My PCBs are not very complicated. Placements takes me may be even 80% of time. If placement is good then routing is very simple task when you accept that you don’t care how exactly tracks are routed. At the end you cen do some dragging to get them looking better.
During placement I switch the GND connection lines visibility off as these are connections I need not to take care of them as GND I have everywhere one via from me.
The example of such designed PCB:
At top right corner of microcontroller (IC in center) at VC net there is 0R jumping over 3 tracks. At bottom right corner there is 0R jumping over 2 tracks.
You could suppose that 0603 going from VC net to IC on the right is also 0R but not. I prefer to supply all ICs by their individual ferrite beads and it is it. I also prefer to have at any digital output the 47 to 100 ohm resistor close to the output pad. Thanks to that IC switching the output stage has to get from its supply a strong current pulse only to reload its internal capacitance and pulse needed to reload the rest of net is spread over time making generated EM noise smaller. These resistors and these ferrite beads helps a lot in routing. See 4 resistors on the way to IC right-down from microcontroller. In that microcontroller (AtXmega) I don’t have big flexibility in swapping pins. But as I had there this resistors I could just used them to unravel tracks. To the left there are over 20 0402 resistors having just the same function, but 0402 don’t allow me to go with track under them.
Any via you see at this PCB is GND. Even top-left of microcontroller you see something that looks like track starting and ending with via. It is also GND - I decided to make something like shield between data lines and control lines (pulses at data lines don’t cares as they are read in certain moments, pulses at control lines (like reset) cares much more).