![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| apv1989 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 22.5.2008 Репутация: нет Всего: нет |
Здравствуйте, учусь java (api в основном, язык то, конечно, си-стайл знаком), хотя в общем то программирую не первый год и это не первый мой язык ООП.
Да вот только когда старший программист увидел этот код, полез сначала на потолок, потом с него упал, потом закатился под стол, корчась толи от боли, то ли от смеха, не знаю в общем. Вердикт был: зарефакторить абсолютно все. Каждую строчку буквально. Что тут такого страшного, скажите пожалуйста?
|
|||
|
||||
| danilych |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 2.2.2011 Репутация: 3 Всего: 3 |
из книги Spring Recipes A Problem-Solution Approach Gary Mak В вашем коде смешана логика бизнес уровня, доступа к данным и презентационная. Ваш код нереально тяжело будет поддерживать и развивать. |
|||
|
||||
| dobrolub |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 385 Регистрация: 18.12.2009 Где: Vancouver, Canada Репутация: 11 Всего: 16 |
Я бы переписал логику более прямолинейно. (см. правильный коммент от самотника, внизу)
Это сообщение отредактировал(а) dobrolub - 15.6.2011, 02:09 |
|||
|
||||
| Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
apv1989, слишком много вложенных if/else конструкций и вызовов метода sendPhoto
Добавлено через 2 минуты и 38 секунд dobrolub, даже решение выложил Это сообщение отредактировал(а) Samotnik - 14.6.2011, 19:20 |
|||
|
||||
| apv1989 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 22.5.2008 Репутация: нет Всего: нет |
Спасибо всем.
Чувствую себя индусом. C удовольствием бы AbstractAddressee сделал, но это две сущности JPA, абсолютно одинаковые, но привязанные к разным таблица, а mappedsuperclass использовать нельзя. Это сообщение отредактировал(а) apv1989 - 15.6.2011, 09:19 |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
я бы посмотрел в сторону Compose Method рефакторинга.
|
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
Главное, не используйте этот жаргон - "индус", "быдлокод". Это дурной тон. И все получится. |
|||
|
||||
| Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
||||
|
||||
| dobrolub |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 385 Регистрация: 18.12.2009 Где: Vancouver, Canada Репутация: 11 Всего: 16 |
Это сообщение отредактировал(а) dobrolub - 16.6.2011, 05:02 |
|||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 8 Всего: 56 |
1. Вместо строк смол, биг, киоск и т.д. использовать констатны.
2. Избежать дубликации кода (строчки 25-30 и 35-40 в отдельный метод). |
|||
|
||||
| Rasool |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 4.6.2011 Репутация: нет Всего: нет |
А как присутствующие относятся к книге "Рефакторинг. Улучшение существующего кода" Мартина Фаулера в переводе С.Маккавеева? По ней можно учиться культуре программирования?
Это сообщение отредактировал(а) Rasool - 22.6.2011, 17:44 |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
||||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |