BCD and method names

Currently, when we list features, they’re listed with just the name (or the description, if that field is specified) in the first column. This means that method names and property names are indistinguishable. I think this could be a problem that leads to some confusion while reading the compatibility tables.

We should either be specifying a description that adds the closing parentheses to method names or find some way to cause the closing parens to be added at render time. Or add a “method” flag to indicate that a feature is a method. Something like that.

Curious if anyone else finds this to be a thing while reading long tables…?

mdn-browser-compat-data arranges web features in a hierarchy to avoid name conflicts and to have features organized somehow, but it doesn’t have information on what these features are exactly. It concentrates on just compat data for “web thing X”.

For the moment, I think, it is out of scope for the dataset to describe what these things are. Please don’t add info like this in a random way to the bcd data.

It might be interesting to think about this as part of an overall data strategy we are in need of (as Will mentions in this thread https://discourse.mozilla.org/t/proposal-including-css-short-descriptions-in-mdn-data)

1 Like

It’s been a year or so since I last brought this up, and I still believe we should have a way to identify the type of thing described by each BCD entry. This would facilitate correct rendering and interpretation of the data by not only MDN and its macros (by letting us know whether to present an item as a method, for instance), but would also be useful by external users of the data.

For example, a code editor could use the information to perform basic usage validation – if an item is marked as being a property, trying to call it like a method could present a warning in the editor.

As we move toward a broader data-driven system, this and related ideas should be considered again.

1 Like

I believe that method names should, at the very least, have a trailing ().

We already do this for constructors.

Yes, at a very minimum, they need the parentheses.

1 Like