The Daily WTF на русском
Подписаться
Представительная линейка: еще один параметр, бро
Мэтту необходимо было добавить новое поле в форму, но задача оказалась сложной из-за метода, используемого для сохранения изменений в базе данных. Метод saveQualif имел 36 строковых параметров, что усложняло работу с ним. Метод создавал объект доступа к данным с тем же количеством параметров и обновлял поля в базе данных, если они не являлись нулевыми. Параметры включали конфиденциальную информацию, такую как pdfPassword, которая хранилась в виде открытого текста. Метод вызывался дважды: один раз со всеми заполненными параметрами, а во второй раз с большинством параметров, установленных в значение null. Мэтт подумывал переделать метод для его улучшения, но он боялся что-нибудь сломать и решил вместо этого добавить еще один параметр. Этот подход использовался предыдущими разработчиками, которые также избегали переделывать метод. В результате получилась сложная и труднообслуживаемая кодовая база. Переделка часто откладывается на потом, оставляя ее для решения будущим разработчикам. Такой подход может привести к проблемам в дальнейшем, таким как ошибки и уязвимости системы безопасности.