Какой подход я должен проявить для понимания большого приложения J2EE, если я еще не знаю ни одной из платформ, включенных?

Я начал работать в своей компании 5 или 6 лет назад как младший Java-разработчик, и я добрался, чтобы сделать некоторое использование программирования J2EE Servlets и Jsp. Я не провел много времени в том положении, и я пошел для работы с базами данных, таким образом, я дистанцировался от мира разработки программного обеспечения. Теперь я должен был вернуться к программированию Java, и мне дали веб-приложение, чтобы разработать и поддержать.

Когда я открыл проект, я абсолютно ничего не понял. Приложение было создано с помощью многих платформ высокого уровня как Spring, Будьте в спящем режиме, Калитка, Ось для веб-сервисов и Знаток для того, чтобы разработать проект. Люди, которые работали в приложении, являются превосходными программистами, таким образом, я уверен, что они применили шаблоны и понятия правильно, но прямо сейчас это - просто слишком много вещей, которые я никогда не видел прежде.

Что я могу сделать для получения актуальным с текущими платформами и технологиями эффективно? Я знаю основные принципы Java 1.4 довольно хорошо, и у меня есть хорошее понимание шаблонов разработки и объектно-ориентированного проектирования, но я ничего не знаю о тех платформах, которые я упомянул прежде. Я был бы очень признателен за некоторые предложения от людей, которые имеют лучшее понимание вместо того, чтобы вслепую читать первую книгу, которую я нахожу об этих различных предметах.

Большое спасибо заранее за Вашу справку.

6
задан Péter Török 4 March 2010 в 20:39
поделиться

7 ответов

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

Я был техническим руководителем проекта, в котором только двое из нас имели какой-либо опыт работы с Hibernate и Spring (и, по иронии судьбы, с JUnit). Мы вдвоем часто объединялись с этими «младшими» разработчиками до такой степени, что они просто начинали демонстрировать, что «поняли». Это произошло не в одночасье, но между объединением и написанием хороших тестов у нас теперь есть команда из 5 опытных разработчиков.

Удачи!

1
ответ дан 8 December 2019 в 14:42
поделиться

В какой-то момент я был в похожем положении и чувствовал себя очень ошеломленным.

Одна из вещей, которые мне показались наиболее полезными, - это начать изучать Spring. Возьмите книгу (мне понравились Весенние рецепты , но многие люди рекомендуют Весна в действии ) или пройдите курс обучения (очень хороший курс, предлагаемый на веб-сайте Spring). Изучая Spring, я узнал, как интегрироваться с другими фреймворками, такими как Hibernate и другими фреймворками веб-сервисов, и в процессе я изучил основы этих фреймворков и концепций JavaEE в целом.

Между Java 1.4 и 1.5 есть некоторые фундаментальные различия, так что вы можете найти хорошую книгу по Java полезной, если у вас возникнут проблемы.

Но, честно говоря, как сказал @Oscar Reyes, даже если поначалу это покажется подавляющим, лучшее, что вы можете сделать, - это просто погрузиться в игру. Начните играть в локальной среде или в среде разработки. Создание простого приложения Hello World даст вам массу понимания.

Удачи!

1
ответ дан 8 December 2019 в 14:42
поделиться

В настоящее время я изучаю информатику и программирование для бизнеса. Я обнаружил, что самый простой способ - прочитать документацию.

Spring Documentation

Руководства по Hibernate

Apache Wicket

Axis для веб-служб

Maven

После того, как вы поймете, как работают различные фреймворки, следующее, что нужно сделать, это взглянуть на код. Есть ли документация, есть ли комментарии в коде, узнайте, что они говорят, и попробуйте следовать тем частям кода, которые вы понимаете. Лучше подходить к огромному сайту по одной странице за раз и выяснять, что делает каждая часть, прежде чем просматривать все страницы сразу.

как только вы почувствуете сайт, начните с изменения простых вещей в коде, даже если он распечатывает «привет, мир» то тут, то там, это даст вам представление о том, как код влияет на сайт на экране.

Но самое главное - не паниковать, сохранять спокойствие. Если это начинает вас ошеломлять, лучше вернуться к началу, чем пытаться прорваться.

Если у меня есть другие советы, я добавлю правку.

Удачи тебе.

** РЕДАКТИРОВАТЬ

Если у вас возникли проблемы с выяснением того, как все эти вещи работают вместе, вы всегда можете узнать, есть ли у них документация по системе. Если у них есть блок-схемы, какой подход к дизайну они выбрали, водопад и т. Д. Найдите пользовательские методы, классы, функции. обычно они должны быть хорошо задокументированы и объяснены программистами, которые их кодируют. также логический и физический дизайн сайта. Теоретическая фаза сайта так же важна для понимания, как и сам сайт.

Надеюсь, это поможет.

1
ответ дан 8 December 2019 в 14:42
поделиться

Я предполагаю, что «превосходные программисты» все еще существуют, поэтому лучше всего использовать их. Хотя не каждый разработчик умеет объяснять вещи, они должны быть в состоянии дать вам обзор приложения, чтобы вы могли понять, что предоставляет каждая структура и как они работают вместе.

Первое, что нужно сделать, это ЧТО, а не КАК.Получите рекомендации и, надеюсь, проектную документацию, которые позволят вам понять, что каждая часть головоломки дает решению в целом.

Как только вы поймете, какой вклад вносит каждая часть / фреймворк / инструмент, тогда станет намного легче начать понимать, как они это делают. Опять же, один на один с разработчиками, чтобы начать работу, очень поможет. Со временем, по мере того, как вы ближе познакомитесь с кодом, вы начнете понимать, как работают эти фреймворки и на что они способны.

Курсы и документация, конечно, помогут, но ничто не заменит теплого тела (компетентного), которое поможет вам что-то понять, тем более, если они это что-то создали.

Как только вы поймете использование этих фреймворков в ваших собственных приложениях, вам будет намного легче начать подбирать другие функции, которые вы, возможно, сможете использовать в будущем.

ПРИМЕЧАНИЕ. Кроме того, с курсами вы можете проверить, учитывают ли они особенности используемой вами структуры. Spring довольно обширен, и изучение Spring MVC может быть мало полезно для вас (в вашем текущем положении), если ваша компания использует исключительно другие фреймворки для веб-разработки, в то время как Spring DI (ядро) и доступ к данным могут быть тем, что вам действительно нужно.

6
ответ дан 8 December 2019 в 14:42
поделиться

Единственный (или, лучше сказать, лучший) способ: запустите этот проект в своем локальном окружении и оттуда начинайте трогать код, пока не поймете его.

Например, начните со страницы входа в систему:

  • Где она находится?
  • Что вызывает что?
  • Где находится компонент?
  • Какой код под ним.
  • Что произойдет, если вы измените эту строку кода или другую.

    В конце концов, вы сможете сказать "Ок, это действие такого-то фреймворка" или "Это настраивается через такую-то страницу конфигурации"

Не бойтесь что-то сломать, когда это произойдет, восстановите среду и начните все сначала.

Я нахожу, что так быстрее и эффективнее изучать новые технологии, чем переходить от теории к практике.

Время от времени читайте что-нибудь о конкретном используемом фреймворке, чтобы расширить свой словарный запас и иметь общую картину. Затем вернитесь и снова покопайтесь в коде.

4
ответ дан 8 December 2019 в 14:42
поделиться

Для меня самым большим препятствием с большинством этих веб-фреймворков является сантехника - « этот xml-параметр отображается на тот , который этот класс ищет for "- при чтении весенней книги вся информация о конфигурации сливается воедино в большую массу sorta-configurable-that-xml-points-to-that-xml-to-wha ?? - huh ?? вещи. Лучший способ понять фреймворки, который я нашел, - это создавать игрушечные проекты. Все книги и документация в мире не могут заменить запачкать руки.

Итак, я построил небольшой весенний проект. например, 2 класса, возможно, 1 jsp, чтобы понять, какие части конфигурации делают что в упрощенной среде. Следующим шагом было бы добавить элемент - добавить простой класс с доступом к спящему режиму, настроенный через spring. Выполняя пошаговый процесс таким образом, вы начинаете понимать, как все элементы подходят друг другу, и какие части вы ищете, когда пытаетесь понять функциональность части приложения. Есть много настраиваемых частей, и мне приходилось делать это не раз.

3
ответ дан 8 December 2019 в 14:42
поделиться

Мой совет: для начала найдите учебник "hello world" для каждой из фреймворков, а затем продолжайте писать код в своей среде. Я обнаружил, что учусь намного быстрее, если действительно пишу код, а не просто читаю примеры.

После того, как вы это сделаете, подумайте, что, по вашему мнению, было бы полезно или круто использовать для себя, и начните создавать это, используя одну структуру за раз. Напишите простое приложение для создания заметок, которое хранит заметки, например, в txt-файлах, и используйте Spring для управления зависимостями классов. Затем используйте maven для создания и выполнения jar. Затем добавьте гибернацию для сохранения в базу данных вместо файлов txt. Затем используйте калитку, чтобы превратить его в веб-приложение и т. Д.

Затем перейдите на Amazon, купите и прочтите книгу о каждом фреймворке.

Кроме того, если фреймворк меня мало интересует, я постараюсь убедить себя, что достаточно простого понимания концепций высокого уровня. Но это всегда возвращается, чтобы укусить меня. Мне всегда приходится возвращаться назад, грызть пулю и действительно учить материал. Поэтому я бы посоветовал по возможности избегать этой игры в голову.

Замечательный вопрос, кстати, я думаю, что разработчики часто попадают в такую ​​ситуацию!

0
ответ дан 8 December 2019 в 14:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: