-
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
Модуляция #4
Модуляция #4
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
import {getRandomNumber} from './getRandomNumber'; | ||
|
||
const messages = [ | ||
'Всё отлично!', | ||
'В целом всё неплохо. Но не всё.', | ||
'Когда вы делаете фотографию, хорошо бы убирать палец из кадра. В конце концов это просто непрофессионально.', | ||
'Моя бабушка случайно чихнула с фотоаппаратом в руках и у неё получилась фотография лучше.', | ||
'Я поскользнулся на банановой кожуре и уронил фотоаппарат на кота и у меня получилась фотография лучше.', | ||
'Лица у людей на фотке перекошены, как будто их избивают. Как можно было поймать такой неудачный момент?!' | ||
]; | ||
|
||
const names = [ | ||
'Андрей', | ||
'Елизар', | ||
'Нафаня', | ||
'Марта', | ||
'Анисья', | ||
'Марк' | ||
]; | ||
|
||
function getOneComment(i) { | ||
const oneComment = {}; | ||
|
||
oneComment.id = getRandomNumber(i * 10 + 1, (i + 1) * 10); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Магические числа, такие как 10, 6, 2 нужно выносить в константы и давать им имя, чтобы было понятно почему именно они, разработчик который в будущем будет смотреть код не будет знать о техническом задании для этой задачи и ему нужно показать так контекст |
||
oneComment.avatar = `img/avatar-${getRandomNumber(1,6)}.svg`; | ||
oneComment.message = ''; | ||
const messagesCount = getRandomNumber(1,2); | ||
for(let j = 1; j <= messagesCount; j++) { | ||
const messageIndex = getRandomNumber(0, messages.length - 1); | ||
oneComment.message += messages[messageIndex]; | ||
} | ||
const nameIndex = getRandomNumber(0, names.length - 1); | ||
oneComment.name = names[nameIndex]; | ||
|
||
return oneComment; | ||
} | ||
|
||
export function getComments () { | ||
const comments = []; | ||
|
||
const maxComments = getRandomNumber(0,30); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 30 тоже магическое число |
||
for(let i = 0; i <= maxComments; i++){ | ||
const comment = getOneComment(i); | ||
comments.push(comment); | ||
} | ||
|
||
return comments; | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
import {getRandomNumber} from './getRandomNumber'; | ||
import {getComments} from './getComments'; | ||
|
||
const photosDescriptions = [ | ||
'Бухта в Черногории', | ||
'Дорога к пляжу', | ||
'Лазурное море', | ||
'Отлив и прилив', | ||
'Обед в Нияме', | ||
'Тачка мечты', | ||
'Завтрак', | ||
'Ягодный чай', | ||
'Тот самый пляж', | ||
'Обувница ', | ||
'Пляжные тропки', | ||
'Где-то под Саратовом', | ||
'Ресторан высокой кухни', | ||
'Котосуши', | ||
'Новые тапуси', | ||
'Где-то над землей', | ||
'Вчерашний концерт', | ||
'Музей ретро-авто', | ||
'Ночные тапки', | ||
'Отель в Египте', | ||
'Тайский вайб', | ||
'Закат', | ||
'Краб', | ||
'Yo', | ||
'Сафари' | ||
]; | ||
|
||
function getOnePhoto(i) { | ||
const onePhoto = {}; | ||
|
||
onePhoto.id = i + 1; | ||
onePhoto.url = `photos/${onePhoto.id}.jpg`; | ||
onePhoto.description = photosDescriptions[i]; | ||
onePhoto.likes = getRandomNumber(15,200); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 15 и 200 в константы |
||
onePhoto.comments = getComments(); | ||
|
||
return onePhoto; | ||
} | ||
|
||
export function getPhotos() { | ||
const photos = []; | ||
|
||
for(let i = 0; i < 25; i++){ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 25 вынеси в константу |
||
const photo = getOnePhoto(i); | ||
photos.push(photo); | ||
} | ||
|
||
return photos; | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
|
||
export function getRandomNumber (min,max) { | ||
return Math.round(Math.random() * (max - min) + min); | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,103 +1,3 @@ | ||
const photosDescriptions = [ | ||
'Бухта в Черногории', | ||
'Дорога к пляжу', | ||
'Лазурное море', | ||
'Отлив и прилив', | ||
'Обед в Нияме', | ||
'Тачка мечты', | ||
'Завтрак', | ||
'Ягодный чай', | ||
'Тот самый пляж', | ||
'Обувница ', | ||
'Пляжные тропки', | ||
'Где-то под Саратовом', | ||
'Ресторан высокой кухни', | ||
'Котосуши', | ||
'Новые тапуси', | ||
'Где-то над землей', | ||
'Вчерашний концерт', | ||
'Музей ретро-авто', | ||
'Ночные тапки', | ||
'Отель в Египте', | ||
'Тайский вайб', | ||
'Закат', | ||
'Краб', | ||
'Yo', | ||
'Сафари' | ||
]; | ||
|
||
const messages = [ | ||
'Всё отлично!', | ||
'В целом всё неплохо. Но не всё.', | ||
'Когда вы делаете фотографию, хорошо бы убирать палец из кадра. В конце концов это просто непрофессионально.', | ||
'Моя бабушка случайно чихнула с фотоаппаратом в руках и у неё получилась фотография лучше.', | ||
'Я поскользнулся на банановой кожуре и уронил фотоаппарат на кота и у меня получилась фотография лучше.', | ||
'Лица у людей на фотке перекошены, как будто их избивают. Как можно было поймать такой неудачный момент?!' | ||
]; | ||
|
||
const names = [ | ||
'Андрей', | ||
'Елизар', | ||
'Нафаня', | ||
'Марта', | ||
'Анисья', | ||
'Марк' | ||
]; | ||
|
||
function getRandomNumber (min,max) { | ||
return Math.round(Math.random() * (max - min) + min); | ||
} | ||
|
||
function getOneComment(i) { | ||
const oneComment = {}; | ||
|
||
oneComment.id = getRandomNumber(i * 10 + 1, (i + 1) * 10); | ||
oneComment.avatar = `img/avatar-${getRandomNumber(1,6)}.svg`; | ||
oneComment.message = ''; | ||
const messagesCount = getRandomNumber(1,2); | ||
for(let j = 1; j <= messagesCount; j++) { | ||
const messageIndex = getRandomNumber(0, messages.length - 1); | ||
oneComment.message += messages[messageIndex]; | ||
} | ||
const nameIndex = getRandomNumber(0, names.length - 1); | ||
oneComment.name = names[nameIndex]; | ||
|
||
return oneComment; | ||
} | ||
|
||
function getComments () { | ||
const comments = []; | ||
|
||
const maxComments = getRandomNumber(0,30); | ||
for(let i = 0; i <= maxComments; i++){ | ||
const comment = getOneComment(i); | ||
comments.push(comment); | ||
} | ||
|
||
return comments; | ||
} | ||
|
||
function getOnePhoto(i) { | ||
const onePhoto = {}; | ||
|
||
onePhoto.id = i + 1; | ||
onePhoto.url = `photos/${onePhoto.id}.jpg`; | ||
onePhoto.description = photosDescriptions[i]; | ||
onePhoto.likes = getRandomNumber(15,200); | ||
onePhoto.comments = getComments(); | ||
|
||
return onePhoto; | ||
} | ||
|
||
function getPhotos() { | ||
const photos = []; | ||
|
||
for(let i = 0; i < 25; i++){ | ||
const photo = getOnePhoto(i); | ||
photos.push(photo); | ||
} | ||
|
||
return photos; | ||
} | ||
import { getPhotos } from './getPhotos'; | ||
|
||
getPhotos(); |
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 NAMES PHOTOS_DESCRIPTIONS