Where shall I put Javadoc analogy for attributes in KDoc in Kotlin data class?
In other words, how to write in Kotlin KDoc the following Java code Javadoc:
/**
* Represents a person.
*/
public class Person {
/**
* First name. -- where to place this documentation in Kotlin?
*/
private final String firstName;
/**
* Last name. -- where to place this documentation in Kotlin?
*/
private final String lastName;
// a lot of boilerplate Java code - getters, equals, hashCode, ...
}
In Kotlin it looks like this:
/**
* Represents a person.
*/
data class Person(val firstName: String, val lastName: String)
but where to put the attributes' documentation?
As described in the documentation, you can use the @property
tag for this:
/**
* Represents a person.
* @property firstName The first name.
* @property lastName The last name.
*/
data class Person(val firstName: String, val lastName: String)
Alternatively, simply mention the property names in the description of the class, if you don't have much to say about them in the docs:
/**
* Represents a person, with the given [firstName] and [lastName].
*/
data class Person(val firstName: String, val lastName: String)