Ответ
Основная среда разработки (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-структуре, а то проект, блядь, и не соберётся. Всё, теперь ты в теме.