names are defined by the first word after the left bracket. For example: the word cashflow is the name of the shortcode above.
attributes are the things in SINGLE QUOTES after the name but before the right bracket (which ends the tag). In the shortcode above, attr is an attribute, and it is set to value/option ‘YOLO’.
Not all attributes are required! If you don’t state an attribute, just assume the shortcode will be displayed with that attribute as "false" or default. For example, if you don’t state the color attribute with a button shortcode, the button will "default" to gray.
In these docs, Required attributes are shown by Bold Red Text. Obviously, shortcodes won’t work without their required attributes.
With or Without Content?
All shortcodes have at least one opening tag, but not all of them have closing tags. In the example above, the cashflow shortcode has a closing tag, which is used by putting the shortcode name between square brackets (like the beginning), but with a forward slash and no attributes. That is a shortcode with content. Shortcodes without content don’t have the closing tag, such as: [myshortcode attr=’attribute-value’].