Repository navigation
Conversation
| @@ -1 +1,29 @@ | |||
| # Пустой репозиторий для работы с Java кодом в Android Studio | |||
| # мы тут исходя из своих способностей городим консольное приложение кто во что гаразд (•◡•) / | |||
There was a problem hiding this comment.
Многие техники и практики при разработке программ приходят лишь с опытом. Для всех нас еще совсем недавно вызывало огромную головную боль вопрос "а нужно ли мне вытаскивать эту логику в отдельный метод?" или "а как правильно назвать эту переменную, чтобы всем было понятно?". Мы все с понимаем относимся к пути изучения разработки, т.к. все проходили примерно через одни и те же трудности)
| public static void main(String[] args) { | ||
| System.out.println("Hello world!"); | ||
| Locale.setDefault(ROOT); | ||
| ProductList.productList = ""; /*инициализируем переменные, содержащиеся в соответствующих классах*/ |
There was a problem hiding this comment.
⏫ Лучше для классов ProductList, Calculate и UI создать объекты, а не хранить все данные в статических синглтонах. Обычно , если какой-то класс хранит данные, необходимые для работы программы, стоит создавать объекты этих классов, чтобы обеспечить алокацию (уничтожение) объектов и их данных из памяти, когда мы их уже не используем.
Если же класс содержит лишь функции, которые исполняют какое-то действие бех сохранения промежуточных значений, можно делать данные функции static.
В текущем спринте мы познакомились с мощной парадигмой программирования - ООП. Стоит воспользоваться принципами этой парадигмы, чтобы организовать работу программы
| public static boolean readyToGo(Scanner input, String needVariableType) {/*метод, для получения разрешения на продолжения программы | ||
| в зависимости от от двух аргументов, введенной переменной и строки, включающая в себя необходимый ти переменной, | ||
| возвращает true или false, в ходе работы использует методы прооверки текущего класса*/ | ||
| switch (needVariableType) { |
There was a problem hiding this comment.
👍 Очень крутая валидация на вводимые значения. Выглядит мощно
⏫ Единственное, делать needVariableType через String - плохая практика. Лучше применить тип с огранизенными количеством значенией - например enum class.
| @@ -0,0 +1,18 @@ | |||
| public class ProductList { /*класс для хранения списка продуктов, как по мне | |||
| *костыль, но в массивы мы не умеем ¯\_( ͡❛ ͜ʖ ͡❛)_/¯*/ | |||
| public static String productList; | |||
There was a problem hiding this comment.
⏫ Решение хранить значения сразу в String тоже имеет иместо быть. Но каждый раз при добавлении нового продукта и конкатенции (соединении) строк происходит создание нового экземпляра String, что пораждает большое количество неиспользуемых объектов. Чтобы это исправить можно воспользоваться StringBuilder. Вот статья на JavaRush, о преимуществах StringBuilder и как его правильно использовать.
и снова здравствуйте