JavaScript icon indicating copy to clipboard operation
JavaScript copied to clipboard

chore: fix / clean up jsdoc comments

Open Zatan16 opened this issue 1 year ago • 14 comments

Motivation

Many people who use libraries not only use help of jsdoc for methods, but also for the parameters. So, moving the jsdoc declaration from before class to before constructor would definitely help many beginners using this library. Then, the descriptions would show up for the parameters as well.

Examples

No response

Possible workarounds

The possible workaround is that instead of moving the jsdoc completely to before constructor, the description can stay before class but the @param needs to be moved to before constructor

Additional information

You don't need to use tags such as @class and @constructor with ES 2015 classes—JSDoc automatically identifies classes and their constructors simply by parsing your code.

as stated by the documentation for classes

Zatan16 avatar Jul 28 '23 10:07 Zatan16

Documentation of constructor parameters of course needs to go with the constructor. Feel free to fix this. But a general description of the class should stick with the class and not be moved to the constructor.

appgurueu avatar Jul 28 '23 13:07 appgurueu

But when we keep the description to the constructor, it appears for the main class as well. That's how classes work with jsdoc. So you mean I need to go through all the files and fix it 😅. It's not that I don't want to do it but it's gonna take a lot of grind.

Zatan16 avatar Jul 28 '23 13:07 Zatan16

But when we keep the description to the constructor, it appears for the main class as well

I'm not sure what you mean by this. In the documentation you linked, the example is

/** Class representing a point. */
class Point {
    /**
     * Create a point.
     * @param {number} x - The x value.
     * @param {number} y - The y value.
     */
    constructor(x, y) { ... }
    ...
}

So clearly the description - in this case "Class representing a point" - should stick with the class rather than being moved to the constructor.

So you mean I need to go through all the files and fix it

You don't need to fix it, but you may fix it. You could consider automatizing this with some RegEx; use whatever you are most comfortable with.

It's not that I don't want to do it but it's gonna take a lot of grind.

It's fine, you don't have to fix it by any means. There are more interesting problems to solve than to fix this :)

appgurueu avatar Jul 28 '23 13:07 appgurueu

I'm sorry, I messed up a little. I came here as soon as I realized I messed up and saw your reply. I'm currently working on adding more shapes to the Geometry folder (like the square, rectangle, triangle, cube, etc.)

Zatan16 avatar Jul 29 '23 05:07 Zatan16

Also, are there proper guidelines to write the code in? For example, use this and that for jsdoc, or use x spaces or x tabsize for indentation, etc.

Zatan16 avatar Jul 29 '23 05:07 Zatan16

Also, are there proper guidelines to write the code in? For example, use this and that for jsdoc, or use x spaces or x tabsize for indentation, etc.

See our contribution guidelines. We use StandardJS style, so 2 spaces for indentation. As for JSDoc: Just refer to their docs for best practice.

appgurueu avatar Jul 29 '23 10:07 appgurueu

I just realized, nowhere in the CONTRIBUTING.md does it say that I don't have to use the ; to end the sentence, so am I allowed to use it? I've seen all files do not use them, I might have missed checking a few.

Zatan16 avatar Aug 07 '23 15:08 Zatan16

I just realized, nowhere in the CONTRIBUTING.md does it say that I don't have to use the ; to end the sentence, so am I allowed to use it? I've seen all files do not use them, I might have missed checking a few.

I'm not sure what you mean by this. If you mean using semicolons to delimit statements rather than relying on automatic semicolon insertion, please avoid this to comply with StandardJS style. Of course you have to keep using them in for-loops or the like though.

If you're referring to usage of ; as english punctuation: That is allowed within comments. If you do use it, note that it does not end, but rather separate sentences; it is effectively a compromise between a comma (,) and a colon (:). See e.g. Collins Dictionary for how to use semicolons in English.

appgurueu avatar Aug 07 '23 17:08 appgurueu

By sentence, i meant a code line. Thanks for clarifying

Zatan16 avatar Aug 07 '23 17:08 Zatan16

@appgurueu please you assign this issue to me

ManvendraPSdev avatar Oct 04 '23 00:10 ManvendraPSdev

@appgurueu Please assign this issue to me.

Bajpai25 avatar Oct 04 '23 06:10 Bajpai25

@appgurueu is this issue still open I want to contribute on cleaning up doc string?

mohmmadAyesh avatar Mar 26 '24 14:03 mohmmadAyesh

@mohmmadAyesh sure, feel free to work on it. (Please don't add redundant comments, though.)

appgurueu avatar Mar 26 '24 20:03 appgurueu