Бесчеловечность Java
Джавное ООП отличает особая бесчеловечность. Ощущение, что код писали не люди, а роботы, которые хотят обратить кожаных мешков в рабство. Именно такие ассоциации приходят в голову.
Пример — джавный SDK для S3. Возникла задача — явно указать пару ключей и регион. Как это делается в дружелюбных языках? Передается мапка с тремя ключами или kwargs. По умолчанию берутся переменные среды, но считается, что пользователь не идиот и в случае нужды укажет свои ключи.
Джавный SDK, напротив, считает пользователя идиотом. Креды берутся из переменных среды и системных файлов. Если хочешь указать свои, то нужно написать такой код:
Я рожал его почти два часа. Понимаете ли, инициировать BasicAWSCredentials
недостаточно. Нужно обернуть его в AWSStaticCredentialsProvider
и передать в
AmazonS3ClientBuilder
. Так очевидно и просто!
Ясное дело, в джавадоке об этом ни слова. Каждый класс подробно знает о своих геттерах и сеттарах, но не то, как их скомпоновать. Гугление выдает ссылки на StackOverflow и Baeldung. Все спонтанно, что-то уже deprecated, разброд и шатание. В официальных доках только те примеры, что считаются правильными со стороны AWS.
Все это топорно и бездушно. А некоторым с этим жить.
Нашли ошибку? Выделите мышкой и нажмите Ctrl/⌘+Enter