В каких форматах и средаx вам комфортнее работать как Java-разработчику?

Ответ

Основная среда разработки (IDE):

  • IntelliJ IDEA — предпочтительный выбор для Java-разработки благодаря глубокой интеграции с экосистемой (Maven/Gradle, Spring, JUnit, Docker), мощному рефакторингу и умному автодополнению кода (IntelliSense).

Форматы для различных задач:

Задача Предпочтительный формат/инструмент Пример/Причина
Код .java файлы в IDE Локальная разработка с немедленной обратной связью.
Конфигурация сборки Maven (pom.xml) или Gradle (build.gradle) Декларативное управление зависимостями и процессами.
Конфигурация приложения YAML (для Spring Boot application.yml) или Properties Читаемость и поддержка сложных структур в YAML.
Обмен данными JSON Универсальность, легкость парсинга и генерации.
Документация Markdown (в репозитории) или Confluence Markdown отлично подходит для README.md, Confluence — для командной базы знаний.
Быстрое прототипирование JShell (Java REPL) Для проверки фрагментов кода без создания класса.

Пример pom.xml для Maven:

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>my-app</artifactId>
    <version>1.0.0</version>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
</project>

Ответ 18+ 🔞

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

Главный инструмент, где всё и происходит:

  • IntelliJ IDEA — это, блядь, святое. Всё остальное — это как на велосипеде с квадратными колёсами ехать. Тут тебе и мавен с градлом сами всё подтягивают, и спринг сам встаёт как надо, и тесты эти, ёпта, юнитовские. А уж как оно код дописывает... Иногда думаешь, а не читает ли оно, сука, мои мысли? В общем, без этого — нихуя.

А теперь таблица, чтобы не пиздеть просто так, а по делу:

Что делаем Во что пишем / Чем пользуемся Ну и почему, блядь?
Пишем код Файлы .java прямо в этой самой IDE Потому что сидишь, пишешь, а оно тебе сразу: "чувак, ты тут, блядь, опечатку сделал" или "на тебе, жопа, метод подходящий". Локально, быстро, удобно.
Собираем проект Maven (pom.xml) или Gradle (build.gradle) Чтобы не бегать по интернетам, как угорелый, искать библиотеки. Прописал в файлик — и он сам всё скачает, собрал, упаковал. Магия, блядь.
Настраиваем приложение YAML (это application.yml в Spring Boot) или старые добрые Properties YAML — это когда настроек, блядь, овердохуища, и в свойствах уже мозг сломаешь. А тут вроде читаемо, структура видна.
Данные туда-сюда гоняем JSON Всё его понимают, от фронтенда до соседнего сервиса. Написал {"name": "Вася"} — и все, блядь, довольны.
Документацию пишем Markdown (прям в репозитории) или Confluence Маркдаун — для README.md, чтобы любой пришедший в проект не спрашивал "а че это тут у вас?". Конфлюенс — когда вся команда должна одну базу знаний сосать.
Поэкспериментировать быстро JShell (этакая консолька для Java) Чтобы не городить целый класс Main с кучей boilerplate, когда надо просто проверить, как там substring() работает. Вписал строчку — увидел результат. Красота!

И вот, смотри, пример этого самого pom.xml для Maven, чтоб ты понимал масштаб:

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>my-app</artifactId>
    <version>1.0.0</version>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
</project>

Вот видишь? Всё просто, как три копейки. Прописал, что твоё приложение my-app версии 1.0.0, и что ему, хитрой жопе, нужен спринг для веба. Мавен сам остальное сделает. Главное — не накосячить в этой XML-структуре, а то проект, блядь, и не соберётся. Всё, теперь ты в теме.