Separate the state transition logic (sequential) from the output logic (combinational). This makes the code significantly easier to debug and timing-analyze.
The text emphasizes several high-level concepts borrowed from software engineering to improve hardware design: mitpress.ublish.com Modularity:
: Ensure all signals in combinational processes are assigned in every possible branch (e.g., in every if or case path) to prevent the unintended creation of latches.