A good schematic should represent the structure of the design, while having a logical, causal flow.
Let’s talk about historical practice for a moment.
One key rule, signal flow left to right, helps with understanding causality. It’s the standard go-to for expressing signal chains. This paradigm is useful most of the time, and not just for schematics: workflow diagrams, signal processing chains and other architecture diagrams will use it.
(Aside: there’s a cultural bias at work here. If you read Arabic, Persian or Hebrew you might feel differently about left-to-right.)
Nevertheless this left-to-right paradigm is often too restrictive to adequately represent design structure. It separates signals that belong together as bundles, simply because they’re ‘input’ or ‘output’. (What about bidirectional? Power?)
The flow left-to-right rule had another rule that some companies enforced to the extreme: offpage inputs on the left, outputs on the right. Unfortunately, the extra lines needed to drag ports to the edges tended to clutter the schematic while obscuring the origin or destination.
I lived with traditional work products like this - and hated them. Over the course of my career I had conflicts with old-school designers about this, even when there was no policy about it.
At the time I started drawing my own schematics as a designer, I was lucky enough to work in chip start-ups that didn’t slavishly follow these rules. My drawings instead grouped signals together as ports, with a shared source/destination page where possible. My PhD-level co-workers were fine with it and liked it better; the technicians liked it. It was only those old draftspeople who complained.
And so it is today. Most of my designs consist of some kind of ‘hub’ (e.g., an SoC) that connects via ‘spokes’ to the various sub-blocks. Signals flow in both directions in these spokes, yet logically the signals within them group together. I rely heavily on meaningful names to show related signals in a group.
Imagine if you had to represent your design in Verilog, then document it in something like Visio (or, heaven forbid, PowerPoint.) It would look very different than a traditional left-to-right flow. It would be blocks connected together with related bundles of signals (ports). And the signals within those ports would use non-stupid signal names.
That’s how I draw my stuff. Block diagram first, sub-blocks later, with signals grouped as ports related to that hierarchy, much like one would do if coding the design in an HDL.
I take the extra time to arrange the top diagram to hint at physical placement. Layout folks really appreciated this, so did technicians debugging my stuff.
A further benefit of a structured schematic is being able to re-use pages in other projects.
(That said, hierarchical schematics are a bridge too far. Nobody likes them, except perhaps software people who appreciate the layered idea but don’t have to interact with it.)
As you read a schematic then, try to identify these relationships and apprehend the design structure, even if the designer didn’t bother.
Also, understand that power and ground are signals, too, with their own origins and destinations.
Good examples of complex, yet well-structured schematics can be found in Xilinx’s reference boards. They have a clear top diagram showing both logical and approximate physical relationships to the big FPGA in the middle.