Самая сложная проблема в информатике — это именование вещей, что иллюстрирует недавний пример. Был замечен метод с именем handleRSAPrivateKeyGeneration, который явно предполагает генерацию закрытого ключа RSA. Однако эта функция на самом деле принимает алгоритм в качестве параметра, что позволяет использовать различные реализации. В данном конкретном случае, казалось, она внедряла ключ для поиска реализации. Функция не генерирует исключительно ключи RSA; она возвращает действительный криптографический ключ. По умолчанию она генерирует ключ эллиптической кривой. Этот ключ возвращается в виде строки, вероятно, для отображения на веб-странице в рамках контроллера Java Spring. Отправитель посчитал, что это не "WTF", а скорее плохо названная функция, которая может вводить в заблуждение. Чрезмерная конкретность в именовании иногда может снизить ясность. Более подходящим было бы имя, например, handlePrivateKeyGeneration, поскольку точный тип ключа не всегда известен. Задача точного и ясного именования сохраняется.
handleRSAPrivateKeyGeneration, который явно предполагает генерацию закрытого ключа RSA. Однако эта функция на самом деле принимает алгоритм в качестве параметра, что позволяет использовать различные реализации. В данном конкретном случае, казалось, она внедряла ключ для поиска реализации. Функция не генерирует исключительно ключи RSA; она возвращает действительный криптографический ключ. По умолчанию она генерирует ключ эллиптической кривой. Этот ключ возвращается в виде строки, вероятно, для отображения на веб-странице в рамках контроллера Java Spring. Отправитель посчитал, что это не "WTF", а скорее плохо названная функция, которая может вводить в заблуждение. Чрезмерная конкретность в именовании иногда может снизить ясность. Более подходящим было бы имя, например,handlePrivateKeyGeneration, поскольку точный тип ключа не всегда известен. Задача точного и ясного именования сохраняется.