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