Статьи

5 вещей, которые только опытные разработчики могут рассказать вам о Java

Обзор всего, что вам нужно знать, прежде чем углубляться в разработку Java

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

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

Поздравляю, вы собираетесь выдумать

При изучении кода мы сталкиваемся с чистыми проблемами: выяснить, как работают алгоритмы, определить правильные структуры данных для использования и знать, как исправить код, который мы написали сами. Тем не менее, в реальном мире есть много новых проблем, с которыми мы никогда не сталкивались ранее: подгонка вашего кода под стандарты кодирования команды, понимание чужого кода и… поиск лучшего тако грузовика в округе.

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

Написать, объединить, отладить, повторить

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

1. Объединение файлов

Это может звучать просто, но есть много способов испортить это. Одним из наиболее распространенных действий, с которыми вы столкнетесь, является слияние. Это действие объединения двух (или более) историй разработки, текстовых файлов, массивов или любых других объектов. Например, фиксация целой ветви довольно проста, но что, если вы захотите зафиксировать только некоторые из них? Вы лучше научитесь, как на самом деле сделать это, прежде чем испортить все жесткие слова. Вот почему важно знать, что происходит в этом процессе, уметь видеть и понимать код, прежде чем нажимать коммит.

Вы можете перейти к ручному методу, на самом деле просматривая файлы, идентифицируя изменения и видя, как они могут повлиять на код, или вы можете выбрать инструмент, который поможет определить изменения. Вы можете использовать ряд инструментов, таких как инструмент разрешения конфликтов IntelliJ IDEA , KDiff3 , Meld , Guiffy , Kompare и другие.

идея

Инструмент разрешения конфликтов IntelliJ IDEA

2. Понимание процесса отладки

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

Есть разные уровни на выбор:

  • Trace — самая подробная информация
  • Отладка — подробные сообщения, которые записываются в журнал
  • Информация — события времени выполнения, которые видны на вашей консоли
  • Предупреждение — сообщение о потенциальных проблемах
  • Ошибка — неожиданные условия
  • Смертельно — серьезные ошибки

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

Прежде всего, вам необходимо определить правильный уровень каждого сообщения. Например, используйте Debug для регистрации всего, что происходит в программе, чтобы лучше отладить код и понять, что происходит, прежде чем отправлять его в производство. Используйте Info, чтобы узнать, какие действия создаются пользователями, и используйте Warn, чтобы пометить события, которые могут закончиться как ошибка, если вы хотите отслеживать их и, конечно же.

Во-вторых, убедитесь, что вы даете своим журналам столько информации, сколько необходимо. Конечно, сейчас вы знаете, что это значит:

1
2
3
4
public void doSomething() {
    // your awesome code
    logger.debug("Forgot the keys inside the car, BRB");
}

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

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

3. Использование исключений для вашего преимущества

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

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

Это как кнопка паузы для вашего приложения, которая позволяет вам просматривать и точно видеть, что произошло до этого момента. Существуют различные типы точек останова, которые останавливают выполнение вашего приложения, когда оно достигает определенного метода, класса, переменной или строки кода — так что вы можете играть и тестировать, как хотите.

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

4. Обращение с производственной средой

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

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

Вам необходимо понять, почему эти среды отличаются, и как вы можете справиться с этим пробелом. Если вы ищете некоторые продвинутые методы отладки Java, посмотрите этот пост . Другой способ настройки приложений для нескольких сред может быть реализован с помощью Docker, и вы можете прочитать краткое руководство по нему здесь .

5. Думая о будущих товарищах по команде

У нас есть 2 слова для вас: обратная совместимость. Представьте себе: у вас установлена ​​Java 8 на вашем компьютере, в то время как на производстве работает Java 6, и вы не понимаете, почему что-то ломается. Или, может быть, один из клиентов использует старую версию приложения, и ваша новая функция не работает для них. Это неприятная ситуация, которую можно легко избежать.

Вы должны помнить, что у каждой команды есть прошлое и список решений, которые были приняты задолго до вашего приезда. Вот почему вы должны думать о прошлом, чтобы двигаться вперёд (мы сказали, что у нас будет философский подход, верно?).

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

Что еще?

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

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

Последние мысли

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

Если у вас есть какие-то другие ключевые функции для новых сотрудников, которые, по вашему мнению, мы упустили, мы будем рады услышать о них в комментариях ниже!