Я знаю, что это кажется странным, но один из программистов на работе сознательно использовал несколько плохих методов программирования! Я объясню. Сначала позвольте мне сказать, что он умный парень и по большей части пишет понятный код.
Его попросили реализовать лицензирование для проекта веб-приложения, написанного на Java. Поскольку это Java, если вы действительно этого хотите, можно, вероятно, взломать jar и прочитать имена классов и методов, написанных внутри. Его решение этой проблемы было в буквальном смысле неловко называть переменные и методы менее очевидными именами и помещать их в уже перегруженные классы, а не генерировать новые классы.
Он оправдывался тем, что если бы хакер захотел отключить определенные классы, чтобы обойти проверки лицензий (и, следовательно, получить бесплатную копию продукта), у него было бы гораздо более трудное время, если бы не было очевидно, какие методы выполнить эти конкретные задачи. Только после того, как он сделал это, я столкнулся с ним по этому поводу, предположив, что, возможно, мы могли бы купить какую-то библиотеку обфускатора, чтобы сделать это для нас, сохраняя при этом хорошие практики программирования. Он утверждает, что не имел ни времени, ни ресурсов для поиска такого решения.
.. которая ставит меня перед дилеммой Стоит ли искать библиотеку обфускатора на Java и исправлять его старый код (что может немного раздражать при перемоделировании его кода), или я оставляю это как есть, насколько это меня бесит?