Skip to content

Comments

Primary functionality#1

Open
shavkunov wants to merge 297 commits intomasterfrom
Model-skeleton
Open

Primary functionality#1
shavkunov wants to merge 297 commits intomasterfrom
Model-skeleton

Conversation

@shavkunov
Copy link
Owner

No description provided.

}

String queryCreationOfRecipeToWeekMenu = "CREATE TABLE Recipe_to_week_menu " +
"(recipe_ID INTEGER PRIMARY KEY NOT NULL, date TEXT NOT NULL)";
Copy link

Choose a reason for hiding this comment

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

recipe_ID в этой таблице не может быть primary key, это ссылка на другой ключ в таблице recipes. Изучите термин foreign key для того, чтобы ссылаться на ключи в других таблицах. В этой таблице и в остальных.


stmt.executeUpdate(queryCreationOfIngredient);

int numberOfAllStep = 0;
Copy link

Choose a reason for hiding this comment

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

Счетчики ID не нужны, база данных сама будет генерировать уникальные id для каждой таблицы. Просто не указывайте столбец с INTEGER PRIMARY KEY в INSERT запросе. Каждая операция insert возвращает id после вставки записи. Переделывать это не нужно, так как скрипт вспомогательный.


stmt.executeUpdate(insertIngredient);

int measure = -1;
Copy link

Choose a reason for hiding this comment

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

Для measure нужно завести enum с перечислением всех возможных значений + преобразование из строки/в строку.

public class Category implements Serializable {
private String description;
private int ID;
private ArrayList<Recipe> recipes;
Copy link

Choose a reason for hiding this comment

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

Зачем внутри категории лежит потенциально тяжелый список всех её рецептов? Рецепты для категории должны доставаться отдельным запросом.

return ID;
}

public void setID(int ID) {
Copy link

Choose a reason for hiding this comment

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

Зачем этому классу сеттеры? Принимайте всё в конструкторе и класс станет immutable.

* то можно в дальнейшем реализовать с повторениями.
* @param day день в который нужно сгенерировать меню
*/
private void generateDayMenu(Day day) {
Copy link

Choose a reason for hiding this comment

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

Это тоже обсудили в Telegram
Пока мертвый код

* В дальнейшем, у рецепта будет поле количество порций и тогда уже можно будет понимать,
* сколько дней можно кушать это блюдо.
*/
public void setNewWeekMenu() {
Copy link

Choose a reason for hiding this comment

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

Метод должен быть private

allDayMenu = menu.getMenu();
if (allDayMenu == null) {
menu.setNewWeekMenu();
allDayMenu = menu.getMenu();
Copy link

Choose a reason for hiding this comment

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

Этот if должен быть в MenuStorage

/**
* @param day создание меню только для одного дня на неделе.
*/
public void setOnlyOneDayMenu(Day day) {
Copy link

Choose a reason for hiding this comment

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

Мертвый код

* Используется ТОЛЬКО в случае, если пользователя не устраивает конкретный день в меню.
* @param day метод заново создает меню для этого дня.
*/
public void setNewDayMenu(Day day) {
Copy link

Choose a reason for hiding this comment

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

Мертвый код

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