Я когда-то думал, что профессиональные программисты пишут код практически без остановки )) Если кто не знал - это не так, большая часть времени уходит на уточнение требований, обдумывание и проектирование задачи. Да даже на гугление (особенно когда с новой библиотекой работаешь) уходит намного больше времени, чем непосредственно на написание кода )
А если в предпоследнем варианте вместо массива в ручную использовать const date = new Date(); date.setMounth(number-1); return date.toLocalString(ru-Ru, {month:'long'}); вариант честно подсмотрен в инете. И выбор языка довольно просто будет поменять
@@Denis-An это значит, что в C# или Java так не сделать. Или сделать, но будет очень непохоже. А массивы есть практически в любом языке программирования. Моя цель была в том, чтобы показать решения, которые будут понятны начинающим разработчикам на всех языках программирования.
Действительно, и я думал использовать эти вещи. Но в инструментах себя ограничил (в том числе и TS), т.к. не все понимают что за npm такой, а хотелось сделать видео понятным всем, кто хоть как-то знаком с программированием.
А что если первое что в голову пришло, это сделать обьект куда завести все месяцы (ключ - нумарация, значение - месяц) , без условий обойтись, это на какой уровень тянет?Пример : const getMonthByNumber = monthNumber => { const Year = { 1: 'January', 2: 'February', 3: 'March', 4: 'April', 5: 'May', 6: 'June', 7: 'July', 8: 'August', 9: 'September', 10: 'October', 11: 'November', 12: 'December', } return Year[monthNumber] }
По логике, меньше либо равно нуля это значит "не положительное число", а меньше единицы - это меньше единицы) Хотя технически работать и так и так будет.
Как опытный пользователь приложения втб - могу спросить: как можно доверять словам человека, который создал и поддерживает паршивое, глючное приложение!? Чего стоят его слова, если у этого техлида приложение с постоянными багами!...
Павел, ты наверное не понимаешь масштабов современной разработки. У ВТБ в разработке задействованы несколько тысяч человек. Приложение для физлиц это, кстати, далеко не единственный ИТ-продукт банка. Более того, даже это приложение развивает не одна команда, а десятки команд, каждая отвечает за свой раздел. К сожалению или счастью, но я задействован на проектах, которые с этим приложением для клиентов-физлиц на данный момент никак не пересекаются.
по массиву не идет перебор если просто говорить. В примере автора значение вытаскивается по индексу, то есть сложность будет одинаковая. Но с объектом больше нравится вариант
Хороший вариант был бы с маппой: Map months = new HashMap(); months.put(3, "Март"); // (и тд) .. months.get(3) // март С массивом могут быть траблы, например, если будет задача, где числа не линейные (например 1, 8, 15, 16, 20, 100)
Всегда было интересно посмотреть как ПРО решаю задачи))
Я когда-то думал, что профессиональные программисты пишут код практически без остановки ))
Если кто не знал - это не так, большая часть времени уходит на уточнение требований, обдумывание и проектирование задачи. Да даже на гугление (особенно когда с новой библиотекой работаешь) уходит намного больше времени, чем непосредственно на написание кода )
Для первого видео очень даже не плохо! Желаю удачи с каналом!)
Большое спасибо)
А если в предпоследнем варианте вместо массива в ручную использовать const date = new Date(); date.setMounth(number-1); return date.toLocalString(ru-Ru, {month:'long'}); вариант честно подсмотрен в инете. И выбор языка довольно просто будет поменять
Действительно, неплохое решение. Не стал использовать из-за того что очень специфично к языку.
@@sanya-it тогда тебе стоит пояснить, что значит очень специфично к языку?
@@Denis-An это значит, что в C# или Java так не сделать. Или сделать, но будет очень непохоже. А массивы есть практически в любом языке программирования.
Моя цель была в том, чтобы показать решения, которые будут понятны начинающим разработчикам на всех языках программирования.
@@sanya-it а, понял
Первым вариантом пришло в голову использовать библиотеки с локализацией, вторым 4ый вариант с TypeScrypt
Действительно, и я думал использовать эти вещи.
Но в инструментах себя ограничил (в том числе и TS), т.к. не все понимают что за npm такой, а хотелось сделать видео понятным всем, кто хоть как-то знаком с программированием.
про синьора: а как же yagni?
А что если первое что в голову пришло, это сделать обьект куда завести все месяцы (ключ - нумарация, значение - месяц) , без условий обойтись, это на какой уровень тянет?Пример :
const getMonthByNumber = monthNumber => {
const Year = {
1: 'January',
2: 'February',
3: 'March',
4: 'April',
5: 'May',
6: 'June',
7: 'July',
8: 'August',
9: 'September',
10: 'October',
11: 'November',
12: 'December',
}
return Year[monthNumber]
}
Ну это почти как сделать с помощью массива)
Вот это я нашел !
Зачем писать в условии "monthNumber
По логике, меньше либо равно нуля это значит "не положительное число", а меньше единицы - это меньше единицы)
Хотя технически работать и так и так будет.
Сын уже тянет на джуниора?))
Сын пока фоткался расколбасил клавиатуру, перестала работать)) может геймером будет)
Как опытный пользователь приложения втб - могу спросить: как можно доверять словам человека, который создал и поддерживает паршивое, глючное приложение!? Чего стоят его слова, если у этого техлида приложение с постоянными багами!...
Павел, ты наверное не понимаешь масштабов современной разработки. У ВТБ в разработке задействованы несколько тысяч человек.
Приложение для физлиц это, кстати, далеко не единственный ИТ-продукт банка. Более того, даже это приложение развивает не одна команда, а десятки команд, каждая отвечает за свой раздел.
К сожалению или счастью, но я задействован на проектах, которые с этим приложением для клиентов-физлиц на данный момент никак не пересекаются.
Hello
const months = {
1: "Январь",
2: "Февраль",
3: "Март",
4: "Апрель",
5: "Май",
6: "Июнь",
7: "Июль",
8: "Август",
9: "Сентябрь",
10: "Октябрь",
11: "Ноябрь",
12: "Декабрь",
}
const getMonthByNumber = (monthNumber) => {
return months[monthNumber] || 'Нет такого месяца';
}
- Объекты работают быстрее массива
- Чтобы не тратить память при каждом вызове, объект вынесен наружу
"Объекты работают быстрее массива" - можно ссылку на актуальный бенчмарк?
по массиву не идет перебор если просто говорить. В примере автора значение вытаскивается по индексу, то есть сложность будет одинаковая. Но с объектом больше нравится вариант
Хороший вариант был бы с маппой:
Map months = new HashMap();
months.put(3, "Март"); // (и тд)
..
months.get(3) // март
С массивом могут быть траблы, например, если будет задача, где числа не линейные (например 1, 8, 15, 16, 20, 100)