Is using Project Lombok actually an good idea?

This page summarizes the projects mentioned and recommended in the original post on /r/java

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • Lombok

    Very spicy additions to the Java programming language.

  • For me the most important thing to consider is that Lombok is basically a compiler hack that relies on non-public APIs to work. These API are still there up to Java 16 but it is pretty clear that the path forward is to lock down access to non-public APIs in future Java versions. It's a cat and mouse game to keep it working. There is an extensive thread about that on Lombok's github page. At some point, Lombok will stop working as it is. There are several possible outcomes, you may decide to not upgrade your Java version to keep Lombok compatibility, Lombok may become an external code generation tool instead of an annotation processor, or you may decide to remove Lombok usage. For that they provide a "delombok" tool, but don't expect it to be a single magic command, you'll end up with messy auto-generated code peppered around your codebase, and you may have a lot of work to do to bring your codebase back to good style standards.

  • awesome-annotation-processing

    A curated list of resources related to the Java annotation processing API (JSR 269)

  • Lombok is not Java. Unlike, say, Immutables, Auto and other annotation processors, it is not some supported add-on, but a piece of software that significantly modifies how the javac compiler works. It is essentially and technically a fork of javac, and, therefore a different language from Java.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • equalsverifier

    EqualsVerifier can be used in Java unit tests to verify whether the contract for the equals and hashCode methods is met.

  • I've played around with my own implementation a long time ago, but I found someone else has made an actively developed one that worked very nice in practice. Give it a shot: https://github.com/jqno/equalsverifier

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Monkey-patching in Java

    2 projects | dev.to | 21 Sep 2023
  • A Java library to add compile-time validation for any annotation

    2 projects | /r/java | 2 Apr 2022
  • Is Lombok in danger of becoming incompatible with future JDK's?

    10 projects | /r/java | 16 Mar 2021
  • Consuming and Testing third party API's using Spring Webclient

    4 projects | dev.to | 19 Feb 2024
  • Java Microservices with Spring Boot and Spring Cloud

    11 projects | dev.to | 11 Jan 2024