Any public implementation that can be accessed through the LSP of your text editor should have a Dart documentation comment (///). This is a good practice because the developer has access to documentation literally at his fingertips, as can it can be accessed directly in the text editor.

❌  BAD - Documentation is not provided in all public implementation.

final class Foo extends StatelessWidget {
  const Foo({super.key});

  @override
  Widget build(_) {
    return const Text('Hello, World!');
  }
}

✅  GOOD - Documentation is provided on point of public implementation.

/// Foo [Widget].
final class Foo extends StatelessWidget {
  /// Default constructor.
  const Foo({super.key});

	/// Build function.
  @override
  Widget build(_) {
    return const Text('Hello, World!');
  }
}