Skip to content

Практическая работа №1 - #4

Closed
kokoreko1 wants to merge 1 commit into
Yandex-Practicum:devfrom
kokoreko1:main
Closed

kokoreko1 wants to merge 1 commit into
Yandex-Practicum:devfrom
kokoreko1:main

Conversation

@kokoreko1

Copy link
Copy Markdown

No description provided.

Comment thread src/main/java/Main.java

String theLastDigit = strIntegerPartOfNumber.substring(strIntegerPartOfNumber.length() - 1);

if (theLastDigit.equals("1")){

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⏫ Тут делается не правильное склонение для числе 11-14. Это специфичный кейс и его стоит обработать отдельно.

Comment thread src/main/java/Main.java

}

public static String GetCurrency(double costPerPerson){

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

System.out.println("На скольких человек разделить счет?");

while (true) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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

System.out.println("Товар добавлен - " + productName);
}

void sum(double sum) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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

this.totalAmount = this.totalAmount + sum;
}

void FillInTheListOfProducts(String productName) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⏫ Тоже можно сделать приватным, а также лучше переименовать метод, чтобы начиналось с маленькой буквы

double totalAmount = 0;
String listOfProducts = "";

void AddProductToCalculator(String productName, double costOfGood){

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



if (costOfGoods > 0) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⏫ Так как мы даем пользователю возможность вводить дробное число, возникает ситуация, когда над приложением захотят поиздеваться и ввести какую-нибудь нереальную сумму (например, 0,00000000009). В такой ситуации при округление получится, что все должны заплатить по 0 рублей и кто-то потеряет в деньгих. Можно было бы попробовать добавить валидацию таких ситуаций или сразу ограничить ввод 2 знаками после запятой и уведомить об этом пользователя. А может быть ограничить минимальную цену, которую можно указать.

@s-buvaka s-buvaka closed this Dec 23, 2022
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