koichi
чтобы потом ошибки не искать
Денис
тайпоф проверяет же только стандартные типы джаваскрипта
А других и не будет, если ты не тянешь тс в проект
koichi
я лично использую ТС просто потому что нужно, я бы и без него обошелся, хоть и плюсы в нем вижу
Maksim Pozharskiy
А других и не будет, если ты не тянешь тс в проект
Ну получается что бы проверить объект правильный, который ожидается приходит или нет, надо будет свойства проверять и перебирать?
koichi
мне в этом случае больше ReasonML больше нравится, но он нигде осоьо не прижился
koichi
я конечно начинку не изучал, но не думаю, что там что-то волшебное происходит
koichi
тот же енам реализован просто проверками и всякой херней
Maksim Pozharskiy
тоже самое, что и делается внутри ТС, разве нет?
Ну тоесть вместо использования ТС писать костыльные проверки все эти самостоятельно?
Maksim Pozharskiy
Не кажется сомнительным?
koichi
Ну, до ТСа приходилось так и не скажу, что не справлялся, опять же, для меня ТС просто решает проблему написания проверок и сразу демонстрацию мне ошибок, но не более
Maksim Pozharskiy
Ну только в реакте в propsTypes, но это тоже не так давно было
Andrii
Я просто хочу выбрать какая отрасль лучше
А когда будешь выбирать, какая жена лучше, тоже будешь интересоваться общественным мнением?
koichi
Ну только в реакте в propsTypes, но это тоже не так давно было
ну, я помню у меня на собесе была задача написать функцию, с каррированием и проверкой типой, приведенмем типов и всякой другой чушью, то делал внутри проверки типов, что призодит и что выводить, проблема только, что в маленькой по функционалу функции было овер 15 строчек кода)
koichi
Даааа
тогда выбирай хорошую жену
koichi
и нам отправляй на оценку
koichi
И как, справился? Я про каррирование только читал, не применял никогда
да, справился, только тупил немного, я зачем-то возвращал функцию в функции, вместо одной и немного фигни какой-то, потом сказали типа сделай так зарефактори, понял где подложили в штаны стул и исправил, но больше нигдк подобное и не применял, если память не изменяет)
koichi
но опыт хороший, не лишний точный, потом подобное увидел у S0er'а, тоже немного подчеркнул нового
Andrii
Юнит-тесты, ещё раз говорю. Грамотные юнит-тесты
Например, заодно можно добавить много дополнительных проверок типа диапазон, ... function foo(a, b) { precondiion(a, 'numeric'); precondition(b, 'numeric', make_range(2,5)); }
koichi
вообще, проверять очень часто приходилось, я все равно когда на ТС пишу иногда задумываюсь, что надо проверки написать, хотя итак изначально указано, что должно прийти, хотя ТС давно на проектах
koichi
опять же, если бы не было ТС'а, то я бы не сильно переживал, так как если бэк написан не коряво, то и проблем нет, а если коряво, то все равно придет чушь с него и все ляжет
koichi
а пару лишних проверок написать никогда лишним не будет, как минимум чтобы разбираться
koichi
у нас на проекте как-то чувак тестил код, и случайно залил что-то на бэк из его "тестирований", в итоге падал проект на любой запрос, было бы абсолютно пофиг тс не тс, проблема то не моя:)
koichi
но лично мне импонирует ReasonML, опять же, увы, он нигде не прижился, как и свелта, пока что
koichi
И как, справился? Я про каррирование только читал, не применял никогда
вот про то, что я говорил, но немного не то видео, нужное не нашел: https://youtu.be/UHhQ74uwCns
koichi
Как-то у чуваков тесты и tdd не в почете видать )
ну, тесты писать лень.. обычно если работаешь на динамике, то все равно примерно когда все сам делаешь то и сам знаешь что откуда и куда пришло
koichi
у меня раньше так было, отказывался понимать: "зачем мне тесты", если я итак знаю, что с бэка, написанного мной, придет и как это обработать
Денис
ну, тесты писать лень.. обычно если работаешь на динамике, то все равно примерно когда все сам делаешь то и сам знаешь что откуда и куда пришло
Блин, ну если, условно, у тебя приложение может лечь от кривого респонса от сервера, то явно и приложение написано криво, и правильнее обработчики обложить тестами и сделать все, чтобы оно не легло, чем тащить тс ради этого. Имхо
koichi
потом пришлось злиться, что бэкэндеры мне говна в штаны положили, а не я сам обосрался) сначала не хотя привыкал, а потом принял, потому что сделав тесты заранее я исключал мозготрепку после и так стало только лучше)
koichi
я лично не имею какой-то определенной позиции, мне что тесты писать не сложно, что просто использовать тс)
koichi
но иногда бывает, что и тс тесты писать приходится, хоть я до сих пор это не особо принимать желаю, так как кажется ужасным
Денис
согласен, но, по сути, тс решают ту же проблему, только ты ничего не пишешь, так как тс почти все за тебя делает, а тебе лишь по пути плыть
У меня прост небольшие проекты, пока он не был нужен. Скорее всего я поменяю точку зрения, но не сейчас )
koichi
У меня прост небольшие проекты, пока он не был нужен. Скорее всего я поменяю точку зрения, но не сейчас )
Ну, честно, ТС приятный, так как ты как и в любом строго типизированном языке сразу будешь знать где ошибся, где что-то пропустил и так далее, все тебе подскажут, покажут, исправят даже за тебя, но тут уже вопрос в том, что для этого хватит банальной внимательности)
koichi
ну и отсутствие проверок самолично, так как за тебя это тоже сделают, тоже приятно, но не так необходимо
koichi
но ТС стоит опробовать, все равно он сейчас везде почти..
Andrii
Как-то у чуваков тесты и tdd не в почете видать )
Тесты в почёте, если они делаются без больших затрат (моки и т. п.). Но больше функциональные, например, когда тестируется вся функциональность целиком, без привязкт к методам. TDD... не знаю... Сколько я не старался, сколько я не стремился, а на практике получается, что пользы мало а затрат много, особенно в случае рефакторинга. И не всегда понятно, как тестировать один метод, если у него большой контекст.
koichi
ну, тогда нужно не забыть спросить про первый опыт!) послушал бы респонс
koichi
я, кстати, долго был приверженцем тдд, так как мне это казалось жуть как удобно и от этого было легко отталкиваться, но потом открестился)
koichi
да я как-то подсел на это после кодварса, решил, что пора тдд джест все дела, очень было удобно, но потом понял, что ончень много времени сжирает, а я, набираясь опыта, уже перестал в этом особо нуждаться
koichi
(с кодварса потому что только тогда узнад про джест и тдд, собственно)
koichi
Это точно нужно на начальных этапах, чтобы руки выпрямились
да, вот когда почувствовал, что руки уже не совсем крюки, то решил откреститься, но, думаю, что не навсегда
koichi
когда был глуп и мал, то я очень сильно плевался от тестов, мне легче было что-то реализовать, а потом пихать все что можно и исправлять напрямую в коде, вместо того, чтобы написать тест, мне казалось, что "я же не настолько долбоеб, чтобы тесты писать"
koichi
как же я ошибался..
koichi
благо сейчас я стал больше ко всему новому открыт, а не плеваться от всего подряд как дурачок
koichi
В бытность QA я обожал таких разрабов, потому что баги сыпались как из рога Амелфы). И можно было за неделю норму закрыть
ну да, работы тестерам я много навалил в свое время, потому что мой пул проверок был опрокидываем разных типов и не более, потом ко мне приходили и говорили, что у меня чушь, а я язык показывал и "бе-бе" в ответ делал
koichi
Мудрым стал ))
скорее перестал быть глупым..
Денис
Viktor
Отбираешь хлеб у бывших коллег ))
Да ладно, баги были, есть и будут есть)))
Viktor
Не одно и то же? )
Не тупить и поступать мудро - не одно и то же)
koichi
Не одно и то же? )
думаю, что нет, чтобы быть мудрым мудрость из чего-то исходить должна, а я лишь отказался от глупости
Денис
Не тупить и поступать мудро - не одно и то же)
При чем тут тупняки? Речь про открытость новому. Отрицать новое по надуманным причинам - это не тупняки.
Viktor
При чем тут тупняки? Речь про открытость новому. Отрицать новое по надуманным причинам - это не тупняки.
Тут я не совсем согласен. Как раз таки, отказать, не имея причин - это тупняк. Отказать, потому что "не трогай то, что работает" - нормально, отказать по результатам изучения - мудро
Andrii
Тдд очень накладно практиковать - долго. И привыкать надо. Что ты подразумеваешь под большим контекстом?
Большой конкетст? Например такую функцию https://github.com/warmcat/libwebsockets/blob/39f0c3c6a08165433fe4851777d95dbb6f017791/lib/core/context.c#L373
Andrii
Как QA перешедший в разрабы, без тестов не хочется работать. Потому как знаю, как кваки могут пить кровь. Так вот я им такого удовольствия не доставлю). В принципе, TDD работает, у меня получается с ними дружить и весьма неплохо
Ну... почему не функциональные тесты, а TDD? Проще проверить работоспособности системы целиком, и внешние интерфейсы не настолько подвержены извенениям, чем тестировать внутренние шестерёнки
Ruslan
Всем привет! У меня тут задачка стоит нужно прочекать домены на наличие в спам листах их ооочень много. На сайте dnsbl.info api не предоставляют. Нашел вот этот сайт dnsbl.smtp.bz но он позволяет чекать только по одному домену, как можно автоматизировать это есть идеи?
Alexander
В очередном выпуске дневника безработно программиста я расскажу: 1) о том, как у меня проходит поиск работы 2) как построен процесс собеседований в разных компаниях https://youtu.be/tchrm7dUbfY #поискработы #уволен #дневникбезработного
Viktor
Ну... почему не функциональные тесты, а TDD? Проще проверить работоспособности системы целиком, и внешние интерфейсы не настолько подвержены извенениям, чем тестировать внутренние шестерёнки
Функциональщина это уже более высокий уровень. Но у меня не было таких проектов, где я бы писал крупные модули. Как правило, точечная доработка, максимум 2-3 класса. Плюс твой тест это мини инструкция для тех, кто будет его дергать