As conscientious developers, we want to ensure that assets are as small as possible. The easiest way to do this with SVGs is to make use of automation tools that can optimize various particulars of SVG documents. Besides obvious economies such as removing elements (for example, stripping the title and description elements) it's also possible to perform a raft of micro-optimizations that, when added up, make for far leaner SVG assets.
Presently, for this task I would recommend SVGO (https://github.com/svg/svgo). If you have never used SVGO before I would recommend starting with SVGOMG (https://jakearchibald.github.io/svgomg/). It's a browser-based version of SVGO that enables you to toggle the various optimization plugins and get instant feedback on the file savings.
Remember our example star SVG markup from the beginning of the chapter? By default, that simple SVG is 489 bytes in size. By passing that through SVGO, it's possible to get the size down to just 218 bytes, and that's leaving the viewBox in. That's a saving of 55.42%. If you're using a raft of SVG images, these savings can really add up. Here's what the optimized SVG markup looks like:
<svg width="198" height="188" viewBox="0 0 198 188" xmlns="http://www.w3.org/2000/svg"><path stroke="#979797" stroke-width="3" fill="#F8E81C" d="M99 154l-58.78 30.902 11.227-65.45L3.894 73.097l65.717-9.55L99 4l29.39 59.55 65.716 9.548-47.553 46.353 11.226 65.454z"/></svg>
Before you spend too long with SVGO, be aware that such is the popularity of SVGO, plenty of other SVG tools also make use of it. For example, the aforementioned Iconizr (http://iconizr.com/) tool runs your SVG files through SVGO by default anyway, before creating your assets so ensure you aren't unnecessarily double-optimizing.