-
Notifications
You must be signed in to change notification settings - Fork 1
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
Больше деталей #3
Conversation
♻️ Я собрал ваш пулреквест. Посмотреть можно здесь. |
@@ -0,0 +1,66 @@ | |||
const POST_COUNT = 25; | |||
const NAMES = [ |
There was a problem hiding this comment.
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, это другое дело. Он то настоящая константа, его так можно называть) Но это потом, сейчас просто затравочка, скоро все узнаете)
There was a problem hiding this comment.
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; |
There was a problem hiding this comment.
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 = [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Имена массивам принято давать в множественном числе, то есть тут MESSAGES
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Спасибо, поправила!
const DESCRIPTION = [ | ||
"на чилле, на раслабоне!", | ||
"Анапа 2024", | ||
"Дача, шашлыки, что еще нужно для счастья?", |
There was a problem hiding this comment.
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); |
There was a problem hiding this comment.
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), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Тут по заданию уникальный номер, но это ладно, вы на занятии вроде обсуждали, что это не обязательно. Но комментов 30 всего, странно что верхняя планка рандома 25)
There was a problem hiding this comment.
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], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Сообщений по условию может быть и два. Но решение предлагаю придумать такое, чтобы можно было легко добавить и 3+ сообщения без значимых изменений в коде)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Создала через Array.from массив сообщений, который может состоять из 1-2 элементов
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Отличный вариант, молодец! 👍🏻
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Но есть нюанс. Вам дальше это вставлять в html нужно будет, лучше сразу к строке привести, чтобы потом этим не заниматься) Лучше всего каждое сообщение с новой строки писать и так склеить в одну большую строку
И стоит такую длинную запись вынести из объекта и объявить где-то выше, а сюда просто переменную кинуть)
Кажется не говорил, но если ключ в любом объекте js совпадает с именем переменной, которую записывают по этому ключу, то можно писать просто ключ(=имя переменной)
{
comments
}
Очень удобно) Можно в этом случае применить эту фичу
There was a problem hiding this comment.
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
по символу переноса строки и он объединит все твои элементы в одну строку.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Сделала функцию создания messages, где через цикл добавляю message в строку
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
А где перенос строки?(
Почему решила не делать через join? У тебя было все готово почти. Не разобралась?
There was a problem hiding this comment.
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`, |
There was a problem hiding this comment.
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(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Почему здесь решила не использовать такую вещь как Array.from()
?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
я подумала, что можно сделать через массив и туда все комментарии закинуть, поэтому потом под массив переделала. Или лучше на Array переделать?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Нет, без разницы в целом, просто уточняю, потому что в двух местах по-разному сделано) оставить можешь так, оба варианта рабочие и хорошие
♻️ Я собрал ваш пулреквест. Посмотреть можно здесь. |
♻️ Я собрал ваш пулреквест. Посмотреть можно здесь. |
a86ff80
into
htmlacademy-univer-javascript-1:master
PR принят. Можно делать задание на модули |
🎓 Больше деталей
💥 https://htmlacademy-univer-javascript-1.github.io/2579369-kekstagram-5/3/