Почему такие странные имена в декомпилированом коде?
Решил я декомпилировать код инстаграма и игры Bomb Squad, так как хотел посмотреть как реализовать некоторые вещи. Вот только когда я это сделал увидел следующую картину во всех файлах(и именах файлов тоже): все имена переменных, классов, методов названы странными именами.

Я подумал что только разработчики инстаграма так делают, но когда декомпилировал Bomb Squad, увидел тоже:

Когда декомпилировал свой код, все имена были прежнимы. Теперь не понимаю зачем так делают
Ответы (1 шт):
Исходный код Java-программ преобразуется в байт-код после компиляции. Естественно, возможен и обратный процесс - декомпиляция. Существует огромное количество декомпиляторов, которые могут извлечь исходный код приложения в довольно хорошем качестве. Все это ставит под угрозу интеллектуальную собственность автора программ и алгоритмов.
Чтоб интеллектуальную собственность как-то защитить код шифруют (подвергают обфускации) на этапе компиляции. На этапе разработки имена классов и переменных вполне развернутые и понятные. На хабре про то, как делать так же есть интересная статья.