jstuyts commented on PR #1093: URL: https://github.com/apache/wicket/pull/1093#issuecomment-2640771837
> I'm also unsure about proceeding with this if we don't have a concrete and useful final result in mind. The desired end result would be that for every variable and method in Wicket it is known whether it is nullable or not. This may take a very long time to achieve. And may even be unsatisfactory: for some situations a client is guaranteed that the value will never be `null`, but as there are other situations where it can be `null` the variable or method has to be marked as nullable. So the perfect state where you know exactly what is nullable will likely never be achieved. Even so, even adding nullable information to the most-used types of Wicket will greatly improve the developer experience. Yes, it is too bad that nobody took the time to add the annotations to less-used parts. And yes, it is unfortunate that a value is marked as nullable that will never be `null` because of the way you set things up. Both issues can be solved: more effort by people who want to contribute, and new, more strict APIs and backward-incompatible changes to contracts of existing APIs (if acceptable for Wicket users). In my opinion adding nullability information to even a small number of places, makes Wicket easier to use. This will hopefully help convince developers that Wicket still is a good choice for front end development. Note that knowing what is nullable is one of the reason I love working with Kotlin: no more going through incomplete documentation, and then through multiple layers of code to figure out whether or not I should handle `null`s. It saves me so much time. This time saving can also be (partially) realized for Wicket developers. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
