TypeRefine — крошечная java библиотека, чтобы задавать пользовательские аннотации для уточнения типов в compile-time. Очень удобно при написании алгоритмического кода, чтобы не путать переменные одинаковых типов, но разных физических смыслов. Особенно часто это происходит с переменными типа int, которые бывают как значениями массива, так и индексами в нем. Защита вешается на вызов методов и присвоение в массивы. Присвоение переменных не проверяется, чтобы можно было легко переобозначить смысл.
Искусство
Книги
Король Шутов (для совместного чтения и обсуждения с детьми).