Aa | Aa |
Коллекции загружаются
#Цитаты #Айтишное
Динамическая типизация просто делает проверку на наличие ошибок более захватывающим. Мисьё знает толк... 26 октября 2015
3 |
> У твоего подъезда в пяти метрах стоит ларек(дорогу переходить не надо, если это важно), в котором ты можешь купить хлеб. Сейчас зима, минус десять. Тебе понадобилось купить хлеб, ты не одеваясь(поленился) спустился, купил - юркнул обратно в подъезд. Твоё время пребывания на улице не превысило тридцати секунд.
Показать полностью
Можно не одеваться тепло, если ситуация такая. Если тебе нужно совершить более длительную прогулку, скажем через дорогу, в ближайший супермаркет, то тебе лучше одеться потеплее. Есличо, ты сделал прекрасный пример моей позиции. Да, МОЖНО не одеваться, если ты будешь тридцать секунд на улице. И шанс того, что ты от этого простынешь, будет мизерным. Но он будет, и ты мог его устранить, одевшись. Да, МОЖНО не оглядываться по сторонам, если ты переходишь тысячу раз перейденную улицу, на которой дай бог раз в полчаса появится машина. Но ты можешь устранить мизерный шанс быть сбитым, оглянувшись. Да, МОЖНО не пристегиваться, если ты едешь через три квартала. Но ты можешь уменьшить среднюю ожидаемую травму от аварии, пристегнувшись. Главное при всем при этом - отдавать себе отчет. "Да, я понимаю, что могу простыть, и принимаю этот риск. Да, я понимаю, что могу быть сбитым, и принимаю этот риск. Да, я понимаю, что могу получить сервер в ботнете, и принимаю этот риск." А не прятаться за мысли вроде: "Ой, да кому этот сайт нужен? Ой, да в кого я врежусь здесь?". |
ДНИЩE--ЫЫЫЫ
|
|
tl;dr
но нафига тестить простые вещи? |
Mikie
Показать полностью
Мне кажется, что вопрос про "унылейший троллинг" нужно задавать мне, а не тебе. Да, я действительно не различаю эти ситуации. Видимо, потому, что стою на устаревших позициях вроде "где-то там существует реальность, и мы можем прикидывать вероятности в ней". Итак, если предположить, что ты не троллишь, а действительно не понимаешь моей позиции, попробую переформулировать ее еще раз: "Существует опасность Х. Существует способ уменьшить ее опасность Y, имеющий некоторые накладные расходы. Существуют ситуации, когда опасность Х так мала, что ее риск перевешивается в глазах выбирающего агента нежеланием платить накладные расходы Y. В любой ситуации, когда накладные расходы имеют хоть немного меньший субъективный вес, чем риск от опасности, нужно применять способ Y, а не пытаться убедить себя в чем-то, рационализируя словами вроде: "Ой, да кто мой сайт будет взламывать? Ой, да не простыну я от тридцати секунд на морозе!". В случае, если после анализа ситуации ты понимаешь, что накладные расходы Y имеют больший вес, чем риск Х, следует честно себе признаться в этом: "Да, я понимаю, что сайт могут взломать, если я его не протестирую, но принимаю этот риск", не стараясь рационализировать для себя свое решение, убеждая себя в том, что накладные расходы больше, чем тебе кажется, или риск меньше, чем тебе кажется. Рационализация - неправильный подход. Рационализация через позицию "мы не можем ничего измерить или узнать точно, следовательно, можно делать что угодно" - неправильный подход. Накладные расходы на простое тестирование очень малы. Существует очень мало ситуаций, в которых они будут иметь бОльший вес, чем риск непротестированного приложения. Одна из таких ситуаций - написание программы на языке программирования, в котором нет удобных библиотек для автоматического тестирования. Сайты пишутся на языках, для которых есть удобные библиотеки для автоматического тестирования. Тестирование имеет бонусы и помимо уменьшения угрозы Х. Следовательно, я не представляю, в какой ситуации при написании кода сайта с нуля на языке программирования (а не на языке разметки) накладные расходы от тестирования перевесят помощь от тестирования плюс уменьшение угрозы." |
Sore wa himitsu desu
Потому что тестить простые вещи просто и быстро, и это помогает быстрее написать простые вещи. |
Ластро
|
|
O_o ну и наворотили вы.
Показать полностью
StragaSevera моя позиция такая. Покрывать тестами ВСЁ излишне. Тестировать каждую мелочь? Боже упаси, с проверкой всёких мелочей и тривиальностей вполне справится система типов. Отказываться от них совсем, я что дурной? Раньше я часто запускал функции в интерпретаторе и смотрел результат, так как всё чистое то я их отлаживал и шёл дальше, мир, дружба, пони. Потом мне с одной стороны стало влом делать это ручками, а с друго в интерпретаторе несколько потоков руками не сильно и позапускаешь(хотя можно, и он даже выдюжит, но напряжно), так в мой код проникли тесты, но их немного и назвать их модульными у меня лично рука не подымается, они скорее интеграционные. Позиции "я всё равно тестирую, зачем мне статика?" и "у меня крутая система типов, зачем мне тесты?" мне кажутся одинаково глупыми. Это два РАЗНЫХ метода поиска ошибок и они находят РАЗНЫЕ КЛАССЫ ошибок, предпочитаю их совмещать, не переходя крайности, язык программирования это не теоремпрувер(например идрис, агда), а тотальное тестирование напрягает необходимостью поддерживать не только код, но и тесты(и в особо задротских случаях тесты тестов(переходить в крайности так уж до конца)). |
Al Lastor
Ответил в параллельном треде. |