DDD DDDD D DD D DD D D D D D D D DD D D DD D DD DDDD DD D DDDDD DD • L LLL LL L L L L L L LL LL L LLLL LL L L LLLL LL L L L L LLLL L LL LLLL L L LL LL LL LLLL L L L LLL
DDD DDDD D DD D DD D D D D D D D DD D D DD D DD DDDD DD D DDDDD DD • L LLL LL L L L L L L LL LL L LLLL LL L L LLLL LL L L L L LLLL L LL LLLL L L LL LL LL LLLL L L L LLL • U UUUU U UUsU UUU U UU U U U UUUU U U U U U UU UU U UU U U U UU U U U UUUUUU UU
DDD DDDD D DD D DD D D D D D D D DD D D DD D DD DDDD DD D DDDDD DD • L LLL LL L L L L L L LL LL L LLLL LL L L LLLL LL L L L L LLLL L LL LLLL L L LL LL LL LLLL L L L LLL • U UUUU U UUsU UUU U UU U U U UUUU U U U U U UU UU U UU U U U UU U U U UUUUUU UU • A A A A A A A A A A A A AA A A AA A A AAAAA A A AAA A AAA A A A A AAAA A AAA A AA A A AAAAA
DDD DDDD D DD D DD D D D D D D D DD D D DD D DD DDDD DD D DDDDD DD • L LLL LL L L L L L L LL LL L LLLL LL L L LLLL LL L L L L LLLL L LL LLLL L L LL LL LL LLLL L L L LLL • U UUUU U UUsU UUU U UU U U U UUUU U U U U U UU UU U UU U U U UU U U U UUUUUU UU • A A A A A A A A A A A A AA A A AA A A AAAAA A A AAA A AAA A A A A AAAA A AAA A AA A A AAAAA • D D Di D DD D D D DDDDD D DD DDD DDD D DD D i D D D D DDDD D DD D D D DD D D D DDDD D D
DDD DDDD D DD D DD D D D D D D D DD D D DD D DD DDDD DD D DDDDD DD • L LLL LL L L L L L L LL LL L LLLL LL L L LLLL LL L L L L LLLL L LL LLLL L L LL LL LL LLLL L L L LLL • U UUUU U UUsU UUU U UU U U U UUUU U U U U U UU UU U UU U U U UU U U U UUUUUU UU • A A A A A A A A A A A A AA A A AA A A AAAAA A A AAA A AAA A A A A AAAA A AAA A AA A A AAAAA • D D Di D DD D D D DDDDD D DD DDD DDD D DD D i D D D D DDDD D DD D D D DD D D D DDDD D D • D D D D D D D D DD DD DDDD DD D DDDDDD D D D D D D DDDD D D DDDDD DDD D D D D DD D D DD DD D D D D
DDD DDDD D DD D DD D D D D D D D DD D D DD D DD DDDD DD D DDDDD DD • L LLL LL L L L L L L LL LL L LLLL LL L L LLLL LL L L L L LLLL L LL LLLL L L LL LL LL LLLL L L L LLL • U UUUU U UUsU UUU U UU U U U UUUU U U U U U UU UU U UU U U U UU U U U UUUUUU UU • A A A A A A A A A A A A AA A A AA A A AAAAA A A AAA A AAA A A A A AAAA A AAA A AA A A AAAAA • D D Di D DD D D D DDDDD D DD DDD DDD D DD D i D D D D DDDD D DD D D D DD D D D DDDD D D • D D D D D D D D DD DD DDDD DD D DDDDDD D D D D D D DDDD D D DDDDD DDD D D D D DD D D DD DD D D D D • M MMM MM M MM M MM M M M M MM M MM M M M MMMM M M MM MM MM MMMMMM MM MMMMMMM MMMM
the Json protocol required • Lots of Domain Tiny Types that shouldn’t appear in Json (eg. Ids, Age, Money) • Using re fl ection makes easy to break things when refactoring • Annotations and custom serializers work but they taint the domain • Di ff erent collaborators want di ff erent Json for the same objects • Data Transfer Objects brings a lot of duplication and are a source of bugs • Most of Json libraries need a single shared instance (Singleton) • Solutions based on code generations are hard to maintain
use it in a new job • Contributions from many people, each with their own interesting issue • More eyes for issues and security • Not a huge e ff ort but still it takes a few hours a month • LLMs are helping a lot with docs and other small issues