For software, the book Design Patterns is a set of patterns for doing common things in software and it gives software practitioners common terminology to describe some of the components they need to create.
Does such a book or resource exist for synthesizable RTL or RTL in general? Things like common pitfalls, design trade-offs, deadlock considerations, and interface design.