An open API service indexing awesome lists of open source software.

https://github.com/levvolkov/javaqa1

1 «Введение в Java»
https://github.com/levvolkov/javaqa1

java

Last synced: about 2 months ago
JSON representation

1 «Введение в Java»

Awesome Lists containing this project

README

          

# 1. Домашнее задание к занятию «Введение в Java»

## Цели задания

1. Запустить первую программу на Java в профессиональном редакторе кода Intellij Idea.
2. Проанализировать результат работы кода, найти дефект(ы).
3. Научиться версионировать проект с помощью Git.
4. Попрактиковаться в написании баг-репортов в GitHub Issue.

------

## Инструкция к заданию

1. Скачайте и установите профессиональный редактор кода [Intellij Idea Community Version](https://www.jetbrains.com/idea/download/).
1. Откройте IDEA и [создайте новый Java-проект](https://github.com/netology-code/javaqa-homeworks-video/blob/javaqa-55/QA_Java_Idea_Create.md).
2. Создайте пустой репозиторий на GitHub и свяжите его с папкой вашего проекта (не с какой-либо другой папкой).
3. Правильно настройте репозиторий в плане `.gitignore`. Проигнорируйте папки `.idea` и `out` и `.iml`-файл — их в репозитории быть не должно.
4. Выполните в IDEA задачу согласно условию.
5. Закоммитьте и отправьте в репозиторий содержимое папки проекта.
6. Создайте баг-репорт в вашем репозитории на основе GitHub Issues, оформив его в точности по образцу из задания.

------

## Материалы, которые пригодятся для выполнения задания

1. [Как создать Java-проект в IDEA](https://github.com/netology-code/javaqa-homeworks-video/blob/javaqa-55/QA_Java_Idea_Create.md).

------

## Задание 1 (обязательное)

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

```java
public class Main {
public static void main(String[] args) {

int eaters = 5; // сколько людей будут есть

int water = 3000; // миллилитров воды
int potatoes = 5; // картофелин
int chicken = 6; // куриных бёдер
int spices = 10; // ложек специй

System.out.println("Сварили суп. На одного человека вышло:");
System.out.println((water / eaters) + " миллилитров(а) воды");
System.out.println((potatoes / eaters) + " картофелин(а/ы)");
System.out.println((chicken / eaters) + " куриных(ое) бёдер(ро)");
System.out.println((spices / eaters) + " ложек(ки/ка) специй");

}
}
```

Для анализа этой программы

1. Установите бесплатную версию идеи (**Community version**) с [официальной страницы](https://www.jetbrains.com/idea/download).
1. [Создайте новый проект](https://github.com/netology-code/javaqa-homeworks-video/blob/javaqa-55/QA_Java_Idea_Create.md) на основе **Java 11**.
1. Создайте класс `Main` с содержимым из кода выше.
1. Нажмите на кнопку запуска программы. Она должна запуститься, вывести информацию на экран и завершиться.
1. Закоммитьте и запушьте ваш проект в публичный репозиторий на GitHub. Не забудьте правильно его настроить в плане игнорирования ненужных файлов.
1. Проанализируйте код и вывод программы. Найдите в ней дефект. Менять как-либо код программы нельзя.
1. Оформите баг-репорт с помощью GitHub Issues, описывающий найденный дефект по шаблону из примера ниже.

### Формат оформления баг-репорта
Наша цель — получить баг-репорт, оформленный в точности как в этом примере:

![image](https://user-images.githubusercontent.com/53707586/212539205-59b12cfa-09aa-4cbf-b190-9e029986c9d4.png)

Баг-репорт из примера выше получается заполнением следующим markdown-текстом:

![image](https://user-images.githubusercontent.com/53707586/212539260-e01fa07e-fe58-4384-bebb-b0a73527270a.png)

Комментарии к формату

* И в .md-файлах, и внутри описания баг-репортов используется [формат Markdown](https://www.markdownguide.org/basic-syntax/).
* Исходный код Issue специально вставлен картинкой, чтобы вы вчитывались и перепечатывали, а не копировали.
* Локация дефекта — место, конкретная строчка кода, из-за чего программа работает неправильно. Чтобы красиво сослаться на нужное место в коде, откройте этот файл на GitHub, нажмите на номер или номера соответствующей строки, удерживая `Shift`, и рядом слева нажмите на троеточие, в выпавшем меню нажмите `Copy permalink`. В буфер обмена скопируется прямая ссылка на эту строку этого коммита. Теперь вы её можете просто вставить в текст Issue, как в шаблоне:

![image](https://user-images.githubusercontent.com/53707586/212539279-5d6e39a7-40a5-4961-8905-1496393e8e86.png)

* Для загрузки изображений вы можете воспользоваться кнопкой, находящейся сразу под полем редактирования текста. Также возможна автозагрузка скриншотов прямо из буфера обмена через `Ctrl+V` с автовставкой в место нахождения курсора:

![image](https://user-images.githubusercontent.com/53707586/212539285-bdf9cda3-e6d3-4251-818d-d0f1b1c6276c.png)

------

## Правила приёма работы

Прикреплена ссылка на публичный github-репозиторий с решением задачи.

------

## Критерии оценки

1. В репозитории размещено содержимое папки проекта IDEA. Корнем репозитория должна быть именно папка проекта — не папка `src`, не папка, внутри которой лежит папка проекта. Т. о. в корне репозитория должна лежать сразу папка `src`.
1. Есть файл `.gitignore`, игнорирующий ненужные файлы и папки, которые должны отсутствовать в репозитории. Если они есть, их нужно оттуда удалить.
1. В проекте размешён требуемый в условии код.
1. На гитхаб-странице вашего репозитория создан баг-репорт на основе GitHub Issue и оформлен в точности по образцу из задания.
1. При наличии недочётов, в зависимости от их серьёзности и количества, работа может быть отправлена на доработку или принята. Решение принимается на основе экспертной оценки работы.