Conversation
|
🍏 Пройдено тестов 19 из 19 |
|
@bazhenova обрати внимание решено доп. задание |
| @@ -1,49 +1,198 @@ | |||
| 'use strict'; | |||
|
|
|||
| /** | |||
There was a problem hiding this comment.
Зачем ты удалил все JsDoc? Давай их вернем обратно. Хорошей практикой считается документировать публичные методы, так как по параметрам сложно догадаться, что они содержат
robbery.js
Outdated
There was a problem hiding this comment.
Давай назовем как-нибудь по-другому. Задумайся, какие это дни?
robbery.js
Outdated
There was a problem hiding this comment.
у parseInt лучше указывать вторым аргументом основание системы счисления, чтобы избежать ошибок
robbery.js
Outdated
There was a problem hiding this comment.
Непонятно, что за интервал ты хочешь получить
robbery.js
Outdated
There was a problem hiding this comment.
давай разобьем эту строчку: сначала ты парсишь - это одна переменная, а потом на ней вызывай метод sort - тебе не придется создавать новую переменную, так как данный метод изменяет исходный массив
robbery.js
Outdated
There was a problem hiding this comment.
Надо переименовать, неочевидно название. Первый интервал чего?
robbery.js
Outdated
There was a problem hiding this comment.
Полное расписание? Подумай, как по-другому это можно назвать
robbery.js
Outdated
There was a problem hiding this comment.
Здесь и в строчке выше надо переименовать переменные, они должны отражать смысл
robbery.js
Outdated
There was a problem hiding this comment.
Надо переименовать, непонятно, что за сравнение интервалов. По переменной должно быть понятно, что в ней лежит
robbery.js
Outdated
There was a problem hiding this comment.
Укажи второй аргумент, как я писала выше
robbery.js
Outdated
There was a problem hiding this comment.
Может быть не getMomentForAttack, а getMomentsForRobbery? :) + не забывай, что ты возвращаешь массив, поэтому в названии присутствует множественное число
robbery.js
Outdated
robbery.js
Outdated
robbery.js
Outdated
There was a problem hiding this comment.
может тогда уж freeTimes, раз это массив
robbery.js
Outdated
There was a problem hiding this comment.
Ого, какое-то 'обнуление' переменной. Можешь пояснить, что ты имел в виду?
robbery.js
Outdated
There was a problem hiding this comment.
На вход приходит численное значение? Может тогда лучше написать так:
return (time < 10 ? '0' : '') + time;
robbery.js
Outdated
robbery.js
Outdated
robbery.js
Outdated
There was a problem hiding this comment.
Когда идет вызов нескольких функций подряд, то лучше каждую функцию начинать с новой строки. Перенеси этот replace на новую строчку. Код станет и красивее и читабельнее)
robbery.js
Outdated
robbery.js
Outdated
There was a problem hiding this comment.
почему именно больше 1, почему не больше 0?
|
🍅 |
|
🍏 Пройдено тестов 19 из 19 |
|
@bazhenova обрати внимание решено доп. задание |
robbery.js
Outdated
There was a problem hiding this comment.
В названии не отражено, на что именно ты проверяешь данный интервал. Раз ты возвращаешь булевское значение, то может быть лучше назвать как-нибудь isIntersected или isIncluded или что-то в этом роде (посмотри, что больше подходит)
robbery.js
Outdated
There was a problem hiding this comment.
Если я правильно поняла, то compareTimes - это isRobberyTime
robbery.js
Outdated
There was a problem hiding this comment.
Лучше не сокращать слова в названиях: timesOfRobbery либо robberyTimes
|
И еще немного комментариев) |
|
🍅 |
|
Ты будешь доделывать задачу? |
|
@bazhenova, да, в процессе. Не знаю как правильно переименовать переменные. |
|
@tgkd Скажи, с чем проблемы, лучше напиши в slack, помогу |
|
🍅 Не пройден линтинг или базовые тесты |
|
🍏 Пройдено тестов 19 из 19 |
|
@bazhenova обрати внимание решено доп. задание |
robbery.js
Outdated
There was a problem hiding this comment.
еще бы вот тут переименовать, ты же выбираешь максимум из дат, как я поняла; то есть по сути позднее из двух времен. И раз ты возвращаешь дату, то можно назвать getLaterTime. В аргументы передавай firstTime и secondTime
|
Еще пару переименований сделай, и я отдам тебя ментору. Вроде что-то хочется поправить, но не могу понять, что именно. Посмотрим, что скажет ментор |
|
🍅 |
|
🍏 Пройдено тестов 19 из 19 |
|
@bazhenova обрати внимание решено доп. задание |
|
🚀 |
|
🚀 |
| var bankTimezone = /\+(\d+)/.exec(time)[1]; | ||
|
|
||
| return parseInt(bankTimezone, 10); | ||
| } |
There was a problem hiding this comment.
Ты определяешь часовой пояс банка, а потом везде его прокидываешь в качестве аргумента. Проще сохранить в переменную
|
|
||
|
|
||
| function getSortedIntervals(schedule, bankTimezone) { | ||
| var sortedSchedule = parseSchedule(schedule, bankTimezone); |
There was a problem hiding this comment.
Тут еще пока не отсортировано. Отсортированным становится только на следующем шаге
| function getNewDate(date, bankTimezone) { | ||
| var timeRegExp = /([А-Я]{2}) (\d{2}):(\d{2})\+(\d+)/g; | ||
| var parsedTime = timeRegExp.exec(date); | ||
| var day = ROBBERY_DAYS.indexOf(parsedTime[1]) + 1; |
There was a problem hiding this comment.
ROBBERY_DAYS.indexOf(parsedTime[1]) + 1
В условии сказано, что проверять данные не надо, но допустим в расписании появится ЧТ. ЧТ, как день, является валидным значением, но твой код вернет 0(воскресенье), вместо 4(четверга).
Получается, что шаг в лево и твое решение перестанет работать. Надо переписать на что-то более надежное
| busyIntervals.push(totalBusyInterval); | ||
| totalBusyInterval = schedule[i]; | ||
| } | ||
| } |
| var freeIntervals = []; | ||
| var currentFreeInterval = {}; | ||
|
|
||
| currentFreeInterval.from = getNewDate('ПН 00:00+' + bankTimezone, bankTimezone); |
| busyTime.forEach(function (currentBusyInterval) { | ||
| if (currentBusyInterval.from === currentBusyInterval.to) { | ||
| return; | ||
| } |
There was a problem hiding this comment.
А в каком случае может отработать это условие? Ведь если у интервала начало и конец совпадают, то это уже не интервал, а момент времени.
| } | ||
| } | ||
| }); | ||
| }); |
There was a problem hiding this comment.
Тут все интервалы сравниваются с другими интервалами, но это не очень хорошо с точки зрения производительности. Зачем сравнивать время работы банка в понедельник с свободным временем грабителей во вторник или среду. Попробуй как-нибудь оптимизировать проверку по дням
|
🍅 |
|
Последняя активность 7-го ноября |
No description provided.