Skip to content

Первый Pull Request - #1

Open
VerionitKo wants to merge 6 commits into
mainfrom
dev
Open

VerionitKo wants to merge 6 commits into
mainfrom
dev

Conversation

@VerionitKo

Copy link
Copy Markdown
Owner

No description provided.

Comment thread src/main/java/Calculator.java Outdated
}

public double getPriceForPerson() {
return totalPrice / humanCount;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Здесь хорошо было бы проверить, что humanCount не равен 0, перед делением. Сейчас это условие контролируется (в программе есть проверки при вводе), но это происходит снаружи этого класса и нет гарантий, что в будущем при внесении изменений в программу эти проверки не сотрутся

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Спасибо! даже не подумал о таком варианте!

Comment thread src/main/java/Main.java
System.out.println("Добавленные товары: ");

for (String item : calculator.getItems()) {
System.out.println(" ╰┈➤ " + item + " ** ");

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

какая красивая стрелка)

Comment thread src/main/java/Output.java Outdated
public class Output { // copyright of ninznak (aka VerionitKo (git) :)
public static void showMessage(double personalPrice) {

String[] rightEndsForRuble = {"ля", "лей", "ль"};

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread src/main/java/Main.java
Comment on lines +17 to +27
try {
humanCount = sc.nextInt();
if (humanCount > 1) {
calculator = new Calculator(humanCount);
break;
}

} catch (InputMismatchException ex) {
System.out.println("ERROR! Введите число! ");
sc.nextLine();
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread src/main/java/Main.java Outdated
Comment on lines +37 to +53
while (true) {
System.out.println("Введите стоимость товара в формате ХХ,ХХ (рубли,коп.): ");
try {
double itemPrice = sc.nextDouble();
if (itemPrice <= 0) {
System.out.println("Цена должна быть положительным числом!");
} else {
calculator.addDish(itemName, itemPrice);
System.out.println("Товар " + itemName + " успешно добавлен!");
System.out.println("Сейчас общая сумма: " + calculator.getTotalPrice());
break;
}
} catch (InputMismatchException ex) {
System.out.println("Формат ввода неверный!" +
" Введите дробное число через запятую!");
sc.nextLine();
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А отсюда вынести код в статическую функцию для чтения дробного положительного числа. Когда код поделён на небольшие функции с говорящими названиями - работать с ним легче и приятнее)

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Спасибо! Учту! Тоже не очень понравилось такое нагромождение 8)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants