Building codes face an interesting set of design constraints. First and foremost, they’re legal documents describing minimum requirements for buildings. This means they need to be exhaustive enough to cover what, where, why, and how any given structure gets built. And they need to do it persnickety legalistic language to ensure the requirements are precise and specific, and can’t be avoided through loopholes.
They also need to reflect and translate the most recent research in structural behavior. This means that building codes are deeply technical as well as legal documents. And because our knowledge of structural behavior changes constantly as new research is performed, the codes must change constantly as well. Most codes update on a three year schedule, often substantially. For example, the most recent update to the ASCE 7 Minimum Design Loads code completely revised it’s method of wind load calculations, obsoleting hundreds of software packages in one fell swoop.
Considering all this, it would be very easy for building codes to be among the most complex, difficult to understand documents in existence. However, this isn’t the case. In fact, they’re often easy enough to use and understand that engineers will often have no other references beyond various building codes.
Unlike other laws, which have enormous systems of enforcement agents behind them, there’s typically very little in the the way of building code enforcement. It’s very rare for an engineer’s work to be checked by anyone except the engineer himself. The purpose of the codes, then, go beyond simply listing the requirements for a building. They play a key role ensuring that buildings are built properly. Because of this, a great deal of effort goes into making sure the codes are usable, and that their provisions will actually be followed.
First, a great deal of emphasis is placed on making sure that code-prescribed design methods are as simple as reasonably possible. For example, wind tunnel research and inspection of hurricane damage has gradually resulted in more and more complex calculations to accurately design for wind forces. To combat this, the wind code includes a simplified version of the procedure for use on buildings under 60 feet tall. This relieves a difficult calculation burden from all but the tallest structures (ie: the ones where wind design is most critical). In this same vein, seismic force calculations are often difficult and time-consuming. But the code allows the use of an extremely simple procedure for use in areas of extremely low earthquake risk.
Another way codes are designed for usability is the inclusion of a healthy number of pre-calculated values for calculations that are difficult or tedious to perform. This can be seen in the PCI handbook, which lists capacities for a variety of prestressed concrete sections, or the CRSI handbook, which lists the amount of steel necessary in retaining walls of various heights. But there’s no better example than the AISC Handbook of Steel Construction. Capacities of steel members are somewhat torturous to calculate, as there are many, many possible failure modes that must be checked. Because of this, probably 80% of the steel manual is simply tables of member capacities. This makes sizing steel beams a task that can be done in seconds instead of hours.
But probably the most interesting (to me, at least) way codes are made usable is in the design of the physical books the code gets written in. The most obvious way is the inclusion of tabs to allow quick access to the relevant portion of the code (it’s seldom expected that an engineer will have more than a small part of the code committed to memory). Often these are built into the code itself, in some cases with great effort made to make them usable. Other times, they’re simply sold as a popular add-on by those savvy enough to recognize their value.
Codes are often printed on thick, durable paper that allows them to be opened over and over again without suffering damage. When size requires using thinner paper (like in the steel manual), they’re bound in leather. These are books are designed to be opened and read over and over again.
Codes inevitably include a large number of charts and graphs. Because these are intended to be read, these are occasionally revised not due to incorrect information, but in order to make them physically larger and easier to read. And because the codes change so often, they often include markings indicating where something has been changed or removed, saving engineers hours spent comparing code versions.
Overall, a great deal of effort goes in to making sure that building codes actually get followed, and don’t simply gather dust on an engineer’s shelf. This is fairly important, because in many cases it’s unlikely anyone will ever examine an engineers design. This means that somewhere down the line, building code usability has undoubtedly saved lives.