Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Больше деталей #3

Merged

Conversation

Suninall
Copy link
Contributor

@Suninall Suninall commented Nov 28, 2024

@keksobot keksobot changed the title Генерация данных Больше деталей Nov 28, 2024
@keksobot
Copy link
Contributor

♻️ Я собрал ваш пулреквест. Посмотреть можно здесь.

keksobot pushed a commit that referenced this pull request Nov 30, 2024
@@ -0,0 +1,66 @@
const POST_COUNT = 25;
const NAMES = [

Choose a reason for hiding this comment

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

Хорошая практика называть константы CONSTANT_CASE, но вот с массивами есть нюанс. Их содержимое можно изменять, и по сути это не константы. Поэтому тут часто от соглашений в команде зависит, но html Academy тут говорит, что перечисления (массивы и объекты) так называть не стоит. В общем стоит помнить про возможное написание разными способами и уже ориентироваться по месту на проекте)
Мы в команде также используем обычно camelCase для массивов, знаю команды, кто именует CONSTANT_CASE. Оставить можешь так. А вот Enum из Typescript, это другое дело. Он то настоящая константа, его так можно называть) Но это потом, сейчас просто затравочка, скоро все узнаете)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Хорошо, поняла!

@@ -0,0 +1,66 @@
const POST_COUNT = 25;

Choose a reason for hiding this comment

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

not bad 👍🏻
В следующей практике еще унесется в отдельный файлик и будет красота ☺️

js/main.js Outdated
"Марьяна"
];

const MESSAGE = [
Copy link

@Danila100 Danila100 Nov 30, 2024

Choose a reason for hiding this comment

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

Имена массивам принято давать в множественном числе, то есть тут MESSAGES

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Спасибо, поправила!

const DESCRIPTION = [
"на чилле, на раслабоне!",
"Анапа 2024",
"Дача, шашлыки, что еще нужно для счастья?",

Choose a reason for hiding this comment

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

еее, ну только еще быть на раслабоне 😄

js/main.js Outdated
};

const createComment = () => {
const randomDecscriptionIndex = getRandomInteger(0, DESCRIPTION.length - 1);

Choose a reason for hiding this comment

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

Ты делаешь индекс для DESCRIPTION, а выбираешь элемент из MESSAGE затем. Правильно из MESSAGE

js/main.js Outdated
const randomDecscriptionIndex = getRandomInteger(0, DESCRIPTION.length - 1);
const randomNameIndex = getRandomInteger(0, NAMES.length - 1);
return {
id:getRandomInteger(0,25),

Choose a reason for hiding this comment

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

Тут по заданию уникальный номер, но это ладно, вы на занятии вроде обсуждали, что это не обязательно. Но комментов 30 всего, странно что верхняя планка рандома 25)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ой, я просто думала, что так как у нас только 25 постов, то id только 25, забыла, что в комментариях по-другому. Исправила

js/main.js Outdated
return {
id:getRandomInteger(0,25),
avatar:`img/avatar-${ getRandomInteger(1,6) }.svg`,
message:MESSAGE[randomDecscriptionIndex],

Choose a reason for hiding this comment

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

Сообщений по условию может быть и два. Но решение предлагаю придумать такое, чтобы можно было легко добавить и 3+ сообщения без значимых изменений в коде)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Создала через Array.from массив сообщений, который может состоять из 1-2 элементов

Choose a reason for hiding this comment

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

Отличный вариант, молодец! 👍🏻

Copy link

@Danila100 Danila100 Dec 2, 2024

Choose a reason for hiding this comment

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

Но есть нюанс. Вам дальше это вставлять в html нужно будет, лучше сразу к строке привести, чтобы потом этим не заниматься) Лучше всего каждое сообщение с новой строки писать и так склеить в одну большую строку
И стоит такую длинную запись вынести из объекта и объявить где-то выше, а сюда просто переменную кинуть)

Кажется не говорил, но если ключ в любом объекте js совпадает с именем переменной, которую записывают по этому ключу, то можно писать просто ключ(=имя переменной)

{
 comments 
}

Очень удобно) Можно в этом случае применить эту фичу

Choose a reason for hiding this comment

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

Тот факт, что в MESSAGES бывают строки по несколько предложений, пускай тебя не смущает. Это отдельные строки, трогать их мы не будем. У тебя получается сейчас что-то вроде:

[ "foo. bar.", "baz" ]

Я предлагаю для удобства получить одну строку вида:

foo. bar. 
baz

Поэтому можно сразу обойтись без массива и просто писать в цикле в переменную messages += newLine + "\n", там правда в конце надо уметь не ставить перенос строки. "\n" - символ переноса строки. Можно к твоему решению добавить join по символу переноса строки и он объединит все твои элементы в одну строку.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Сделала функцию создания messages, где через цикл добавляю message в строку

Choose a reason for hiding this comment

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

А где перенос строки?(
Почему решила не делать через join? У тебя было все готово почти. Не разобралась?

Choose a reason for hiding this comment

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

👍🏻

js/main.js Outdated
description:DESCRIPTION[getRandomInteger(0,DESCRIPTION.length - 1)],
likes:getRandomInteger(15,200),
comments:createComments(),
avatar:`img/avatar-${ getRandomInteger(1,6) }.svg`,

Choose a reason for hiding this comment

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

тут аватар не нужен, кажется

js/main.js Outdated

const createComments = () => {
for (let i = 0;i < getRandomInteger(0,31);i++){
return createComment();

Choose a reason for hiding this comment

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

Почему здесь решила не использовать такую вещь как Array.from()?)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

я подумала, что можно сделать через массив и туда все комментарии закинуть, поэтому потом под массив переделала. Или лучше на Array переделать?

Choose a reason for hiding this comment

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

Нет, без разницы в целом, просто уточняю, потому что в двух местах по-разному сделано) оставить можешь так, оба варианта рабочие и хорошие

@keksobot
Copy link
Contributor

keksobot commented Dec 2, 2024

♻️ Я собрал ваш пулреквест. Посмотреть можно здесь.

keksobot pushed a commit that referenced this pull request Dec 2, 2024
@keksobot
Copy link
Contributor

keksobot commented Dec 2, 2024

♻️ Я собрал ваш пулреквест. Посмотреть можно здесь.

keksobot pushed a commit that referenced this pull request Dec 2, 2024
@keksobot keksobot merged commit a86ff80 into htmlacademy-univer-javascript-1:master Dec 2, 2024
1 check passed
@Danila100
Copy link

PR принят. Можно делать задание на модули

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