Skip to content

Pull Request после завершения написания кода по практической работе №1 - #1

Open
samnikolay wants to merge 2 commits into
mainfrom
dev
Open

samnikolay wants to merge 2 commits into
mainfrom
dev

Conversation

@samnikolay

Copy link
Copy Markdown
Owner

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

Comment thread src/main/java/Main.java Outdated
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))); // Выводим сумму, которую должен заплатить каждый

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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

Comment thread src/main/java/Main.java Outdated
else { // Если ответ корректный, то останавливаем цикл
break;
}
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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

Comment thread src/main/java/Main.java Outdated

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))); // Выводим сумму, которую должен заплатить каждый

Copy link
Copy Markdown

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.

2 participants