Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 2 additions & 16 deletions docs/style-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,10 +78,9 @@ packages contain implementation details that should not be used by external cons

### `final` keyword usage

Public non-internal classes should be declared `final` where possible. Internal and non-public
classes should not be declared `final`.
Public non-internal non-test classes should be declared `final` where possible.

Methods should only be declared `final` if they are in public non-internal non-final classes.
Methods should only be declared `final` if they are in public non-internal non-test non-final classes.

Fields should be declared `final` where possible.

Expand Down Expand Up @@ -124,19 +123,6 @@ Test classes and test methods should generally be package-protected (no explicit
modifier) rather than `public`. This follows the principle of minimal necessary visibility and is
sufficient for JUnit to discover and execute tests.

### AutoService

Use the `@AutoService` annotation when implementing SPI interfaces. This automatically generates the
necessary `META-INF/services/` files at compile time, eliminating the need to manually create and
maintain service registration files.

```java
@AutoService(AutoConfigurationCustomizerProvider.class)
public class MyCustomizerProvider implements AutoConfigurationCustomizerProvider {
// implementation
}
```

### Gradle

- Use Kotlin instead of Groovy for build scripts
Expand Down
Loading