aws / aws-sdk-net

The official AWS SDK for .NET. For more information on the AWS SDK for .NET, see our web site:
http://aws.amazon.com/sdkfornet/
Apache License 2.0
2.04k stars 853 forks source link

C# xml documentation uses wrong code block type #1934

Open mqudsi opened 2 years ago

mqudsi commented 2 years ago

Not using the template because this isn't a runtime bug but rather a code quality bug

(Some of) the generated SDKs are using the wrong type of code block in the XML doc comments; specifically, in many cases the <code>Foo</code> tag is used where <c>Foo</c> should have been used instead.

The <code /> block actually generates the equivalent of a <pre /> tag (the contents are displayed monospaced, but on their own line) whereas the <c /> tag generates comments that monospace the tag's contents but render it inline with everything else.

This results in overly-long and difficult-to-read intellisense hints; for example, this is how an SQS intellisense popup appears (latest 3.7.1.32 SDK):

image

Here, all the monospaced content in the popup should have actually been presented inline (including the last example of a serialized list that currently takes up two lines).

Additionally (but separately), I believe that the documentation should either use <para /> for each paragraph or hard line breaks should be translated as <br/><br/> so that the popup doesn't look like one metric ton of text without any breaks.


This is a :bug: bug-report

mqudsi commented 2 years ago

Here's another good example - this completion would be short and sweet but for the wrong type of code block:

image

dscpinheiro commented 8 months ago

We just pushed a change modifying the generated service clients to use the correct tag. I'm going to keep this open since there's still some existing hand-written code (mostly in the Core and S3 packages) not using the appropriate tag, but hopefully this improves the experience a bit.

For example, here's what the Intellisense looks like on version 3.7.300.33 of AWSSDK.SQS for the methods you mentioned:

add-permissions

send-message