Skip to content

Conversation

@samnikolay
Copy link
Owner

Не знаю, могу ли я задать пару вопрос здесь или лучше обратиться к наставнику?
Если не будет времени ответить, то напишу наставнику.
Вопрос 1:
В коде я часто обращаюсь к переменной summa класса Calculator как calc.summa.
Как лучше обращаться к переменной в каком-то классе: каждый раз через "." или один раз записать ее в новую переменную в main и обращаться уже к ней?
Вопрос 2:
Так же я 2 раза подряд вызываю метод деления суммы. (Main.java: строки 52-53)
Как лучше (с учетом того, что я точно знаю, что результат будет одинаковым): вызывать метод несколько раз или один раз записать в переменную и использовать ее.
Вопрос 3:
Стоит ли подробно комментировать код, или комментировать только непонятные участки?

System.out.println("Общая сумма "+ formatter.numberFormat(calc.summa) +" "+ formatter.wordEnd(calc.summa)); // Выводим общую сумму за все товары
System.out.println("Каждый должен заплатить "+ formatter.numberFormat(calc.divideSumma(calc.summa, peopleNumber))+" "+
formatter.wordEnd(calc.divideSumma(calc.summa, peopleNumber))); // Выводим сумму, которую должен заплатить каждый

Choose a reason for hiding this comment

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

По хорошему надо внести всю логику из класса Main. Этот класс призван только стартануть программу, а все остальное должно быть сделано в специальных классах.

else { // Если ответ корректный, то останавливаем цикл
break;
}
}

Choose a reason for hiding this comment

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

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


System.out.println("Общая сумма "+ formatter.numberFormat(calc.summa) +" "+ formatter.wordEnd(calc.summa)); // Выводим общую сумму за все товары
System.out.println("Каждый должен заплатить "+ formatter.numberFormat(calc.divideSumma(calc.summa, peopleNumber))+" "+
formatter.wordEnd(calc.divideSumma(calc.summa, peopleNumber))); // Выводим сумму, которую должен заплатить каждый

Choose a reason for hiding this comment

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

Сейчас дважды вызывается примерно одно и то же: numberFormat + wordEnd. Имхо, не очень понятно, для чего. Лучше уж сделать один объединенный метод, который будет делать всё что нужно

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