Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.09.2019, 16:09   #1
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию java перепутанные пакеты/классы/переменные

Здравствуйте.
Имеется довольно большой проект (не мой), где почти все пакеты, классы, методы и переменные называются буквами английского алфавита.
Например: есть пакет com.a.a. В нем класс a.java. В нем переменные float a; float b; и методы:
Код:
void a(){}

int b(){}

float c(int a; float b, string c){}
Есть и другие пакеты: com.a.b, com.a.c, com.b.a и т.д. и в каждом из них классы называются a.java, b.java и т.д. Их методы могут обращаться к методам из классов в других пакетах.
Разумеется, это приводит к огромному количеству ошибок и проект не компилируется.
Есть ли способ исправить всё автоматически? Или только самому разбираться и вручную переименовывать?

Последний раз редактировалось BLACK_RAIN; 15.09.2019 в 16:22.
BLACK_RAIN вне форума Ответить с цитированием
Старый 15.09.2019, 22:57   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от BLACK_RAIN Посмотреть сообщение
Есть ли способ исправить всё автоматически? Или только самому разбираться и вручную переименовывать?
В современных IDE есть функции для автоматизированного рефакторинга, в т.ч. переименование. Но, они не избавят Вас от необходимости разбираться в назначении классов и т.д.
Streletz вне форума Ответить с цитированием
Старый 16.09.2019, 04:15   #3
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от BLACK_RAIN Посмотреть сообщение
почти все пакеты, классы, методы и переменные называются буквами английского алфавита.
Думаю, это не единственная проблема. Наверняка некоторые места криво декомпилировались
Black Fregat вне форума Ответить с цитированием
Старый 16.09.2019, 07:10   #4
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
Наверняка некоторые места криво декомпилировались
например как криво?
BLACK_RAIN вне форума Ответить с цитированием
Старый 16.09.2019, 07:47   #5
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Обфускация имён сама по себе не должна мешать компиляции проекта
Black Fregat вне форума Ответить с цитированием
Старый 16.09.2019, 08:21   #6
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
Обфускация имён сама по себе не должна мешать компиляции проекта
Даже если имена классов совпадают с именами пакетов?
А как же ошибка package <name> clashes with class of same name?

Последний раз редактировалось BLACK_RAIN; 16.09.2019 в 09:41.
BLACK_RAIN вне форума Ответить с цитированием
Старый 16.09.2019, 12:52   #7
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Удалось таки запустить проект. Оказалось не так сложно. Только при декомпиляции почему-то потерялась функция main(String[] args); и еще пара строчек побилось.
Цитата:
Сообщение от Streletz Посмотреть сообщение
есть функции для автоматизированного рефакторинга, в т.ч. переименование
Насколько я понял, при переименовании пакета референсы на него автоматически не переименовываются? Я их сам переименовывал. Или это из-за того что все классы в разных пакетах одинаково называются.
BLACK_RAIN вне форума Ответить с цитированием
Старый 16.09.2019, 21:26   #8
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от BLACK_RAIN Посмотреть сообщение
при переименовании пакета референсы на него автоматически не переименовываются? Я их сам переименовывал.
Это во многом от IDE зависит.
Streletz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как перехватить tcp пакеты из java приложения Gawana Общие вопросы по Java, Java SE, Kotlin 3 23.01.2014 22:26
Java Пакеты kinogirl1 Помощь студентам 0 02.10.2011 18:31
Статические классы, глобальные переменные и viewstate Droid ASP.NET 1 05.04.2011 16:48
Классы.Не видит переменные из самого класса...Вилы=( Rid Общие вопросы Delphi 3 26.04.2010 12:32