Одна маленькая ошибка в дизайне Java API, за которую потом приходится платить очень дорого
Привет, Друзья! Хотел написать короткий пост по мотивам одного казалось бы простого ПР-а, который мы недавно получили в рамках Axelix: Open Core продукта для решения основных известных болей при разработке Spring Boot приложений (кстати, give us a star!). В общем, контрибьютор пришёл к нам и исправил с виду совершенно безобидную проблему, которую мы упустили. Но на деле, эта проблема со временем могла привести к другим багам, которые дебажить было бы крайне тяжело. И я посчитал, что это стоит небольшой статьи, потому что сам помню проблемы в Spring Data, которые возникали из-за подобных просчётов. Я не буду погружать вас в детали того, что мы делали, просто покажу на абстрактном примере. Давайте с места в карьер. Посмотрите на этот код:
https://habr.com/ru/companies/spring_aio/articles/1046620/
#java #spring #axelix #immutable #api #backward_compatibility #bugs #software_design
