azure-sdk-for-cpp
azure-sdk-for-cpp copied to clipboard
Figure out a mechanism to hide _detail or _internal types and methods calls from docs when initializing public options
For example, we currently have the following, which exposes implementation detail within docs: https://azuresdkdocs.blob.core.windows.net/$web/cpp/azure-identity/1.5.1/struct_azure_1_1_identity_1_1_client_secret_credential_options.html
We either adjust doxygen knobs to hide that initialization logic in docs, or possibly design our code to not expose such details.
A couple of quick comments.
FIrst off: We should not be afraid of leaking the contents of the _detail or _internal namespace. After all, all of the XxxClientOptions classes derive from Azure::Core::_internal::ClientOptions, and we expect customers to reference these.
Next: If you truly feel this is critical, you can use the hideinitializer option to hide it:
The appearance of the value of individual variables and macros / defines can be controlled using \showinitializer or \hideinitializer command in the documentation regardless of this setting.
And finally, if we want, we can globally hide all initializers, but IMHO that's a poor choice because it hides important information from the customer.
Let me ask a slightly different question:
Why is the AadGlobalAuthority constant in the _detail namespace? It's not an implementation detail, in fact it appears to be a well-defined public constant.