BDD в части документирования. Остальное — почти то же самое :)
>чем программирование по контракту лучше и мощнее?
Написанием «правильного» кода. Формулирование контрактов куда более мощный способ заставить себя думать, как написать «правильный код». Тесты — лишь [последующая] проверка частных случаев.
Документирование. Во-первых, она находится «по месту», во-вторых куда более внятная, чем лежащие непонятно где тестs, в-третьих, тесты легко отстают от кода при простом манкировании дисциплиной, с контрактами же проделать такой фокус куда сложнее :).
>потому что оно является следующим этапом программирования по контракту
Хи-хи-хи. «Даже» BDD является следующим этапом TDD (особенно по части документирования кода — не пожелаю даже и врагу «документацию» в виде тестов и если дело действительно настолько катастрофично сначала всё-равно буду читать непосредственно код). Контрактное программирование не имеет непосредственного отношения наследования к обоим, но по многим критериям превосходит многие преимущества и того и другого.
>Именно отсюда и возникает эволюционный дизайн
Угу. А до ТДД при каждом баге или изменении требований всю систему по-вашему, редизайнили и переписывали заново? Вы очень сильно ошибаетесь.
>Опять же, важным этапом TDD является рефакторинг
См. предыдущий пункт. Нет проблем НЕ далать рефакторинг при ТДД — это легко и просто. Равно как нет проблем делать его без ТДД относительно легко (при хорошем покрытии тестами) либо тяжело (без таковых).
>не пробую посмотреть по сторонам и поучиться у других. Жаль(
Адресую это вам. Похоже вы, «внезапно» открыли для себя ТДД и теперь, как новообращённый адепт восторженно приписываете этой практике всё подряд, присущее ей или нет (подменяя, при этом, понятия) и не пробуете даже посмотреть вокруг. Жаль (
Поверьте, мне, в общем-то, всё равно, нравится оно вам или нет. Просьба только не подменять понятия. Нравиться — ну, каждый извращается по-своему. Приемлите для себя «документацию» в виде юнит-тестов (бррррр) — ну, дело ваше. Но, поверьте, есть вещи поудобнее :).
>Подход «тесты вперед» всегда позволяет писать правильный код
«правильный» только с точки зрения юнит-тестирования
>Эволюционный и адаптивный дизайн тоже возникает только при TDD
Ого! Сильное заявление! Так таки и «только»? А доказать?
>Детальная документация кода возникает когда тестов много — это раз, и когда в тестах проверяется только нужное — это два
«Детальная документация» в виде юнит-тестов — это не документация. Опять подмена понятий.
>Это тоже возможно только
Опять только? А, по-моему, чушь. Как минимум, существует контрактное программирование, которое большинство этих ваших задач (правильный код, Эволюционный и адаптивный дизайн, Детальная документация!) позволяет выполнить куда лучше, нежели TDD. Да, с TDD тоже можно, но это ведь инструмент для другого, а гвозди лучше забивать молотком, чем отвётркой, хотя отвёрткой тоже можно, конечно, но… хм… зачем? :)
>И да, TDD это не юнит-тестирование
Разумеется. Но обсуждаемые преимущества, кроме сомнительного первого, относятся именно к юнит-тестированию вообще, а не к ТДД частности.
Ну, у вас же написано, что преимущества ТДД якобы очевидны и в качестве «доказательства» дана вот эта самая ссылка, описывающая преимущества. Ну, так я и говорю, что из этих преимуществ очевидно только одно — иногда подход «тесты вперёд» позволяют написать правильный код (хотя чаще просто сносно тестируемый). Остальные относятся к использованию тестов вообще, а не практике ТДД в целом.
Из всех, так называемых, преимуществ ТДД (из ссылки в статье) кое-каким преимуществом является только первое. С оговоркой, — «в некоторых случаях». Остальные преимущества являются преимуществами использования юнит-тестирования в общем (с этим уже трудно спорить) и к собственно ТДД имеют довольно косвенное отношение.
Таким образом, вы доказали преимущества использования юнит-тестирования, но необходимость внедрения обязательного ТДД лично мне, по-прежнему, кажется более чем сомнительной.
>Хорошо, что у Малевича квадрат с прямыми углами, а то и на него пришлось бы в суд подать!
Ровно наоборот. Кабы Малевич нарисовал прямоугольник со скруглёнными углами, жадные тролли не смогли бы его запатентовать в силу того, что он уже обнародован.
>Не знаю как вам, а мне так и хочется сказать: 276 мегабайт, 564 мегабайта, 745 мегабайт и т. д.
Почему бы и нет. Получится с небольшим запасом. Для большинства практических целей вполне годно. А вот точное значение скорее менее годное — при записи на устройство придётся учитывать «хвосты».
>А ведь из записи 276 517 019 при предлагаемом подходе мы можем легко прочитать размер не только в мегабайтах, но и в килобайтах
$ ls -gG
-rw-r--r-- 1 161201 дек. 14 2011 tvnjviewer-2.1-src.zip
$ ls -gGh
-rw-r--r-- 1 158K дек. 14 2011 tvnjviewer-2.1-src.zip
Давайте НЕ будем использовать надуманных мертворожденных стандартов, пусть они даже и от Международной Электротехнической Комиссии родом. Рождены они исключительно для потакания вранью маркетоидов в их рекламном булшите и не имеют ни какой практической пользы.
Кило- мегабайты использовались (и используются) в 1024-ичном значении задолго до вашего рождения и все, кто использовал эти еденицы были в курсе и не испытывали неудобств. Ваша забота о мамах-бабушках трогательна, но мама-бабушкам на самом деле совершенно безразлично сколько байтов в килобайте вся «проблема» состоит в несоответствии цифирек на наклейке винчестера реальным цифрам. Вот она причина! А приставки-стандарты — это лишь следствие. Единственно-разумным решением во всей этой глупой истории было с самого начала заехать по наглой рыжей морде брехливым рекламистам производителей устройств хранения и не было бы ни головняка с безумными префиксами, да и бабушки спали бы спокойно. К сожалению, момент упущен :(. Остаётся только игнорировать этот дебилизм и надеяться, что бабушки не будут принимать враньё рекламщиков так близко к сердцу.
Некогда знал человека, который утверждал, что математика в вузе вызывала у него реальные физические страдания вплоть до рвоты. Думал брешет. Вуз он, кстати, заканчивал какой-то военно-инженерный.
Бытовая техника, вроде цветных телевизоров, как раз продавалась по весьма конским ценам по стравнению с себестоимостью, потому, что относилась к «роскоши» простому советскому человеку не обязательной. Так что, скорее всего, вы, таки, правы.
Обо всём — не обо всём, конечно, дела каждой уборщицы не контролирует, но что касается того же микрософта, вспомните «дело Поносова»? Тогдашняя глава микросовт-россия приняла совершенно дебильно решение потроллить бедного директора школы при том, что ей уже на тот момент было известно, что венду без лицензии на школьные компьютеры поставила одна из фирм-поставщиков в цепочке, причём авторизованная микросовтом. И вы, таки думаете, что не знали о действиях и решениях главы подразделения целой страны?
В данном случае, очевидно, что решение о рассылке писем принималось не мелким клерком с потолка. Не?
А уж при чём тут бизнесмены — вообще не понятно. Бизнесмены — это как раз владельцы бизнеса и высшее руководство. Начальник местного филиала в каком месте бизнесмен??? Обычный наёмный работник.
Бред какой-то. Кто владелец бизнеса адобе? Собственные хапуги? Кто владелец бизнеса упомянутых немецких копирастеров? Тоже собсвенные хапуги? Эк вы себя ненавидите!
Как же вы ненавидите собственный народ… :( Или, не собственный таки да?
Ну, при чём здесь.ру??? Адобе — фирма.ру? Бред. В соседнем копирастическом топике германские резиденты почти все рассказали о письмах щастья, которые им рассылают немецкие копирасты (ахтунг, злобные.ру пробрались в немецкую копирастию!) после скачивания чего-нибудь с торрентов (ахтунг в квадрате! Они следят!).
>И BMW, AUDI, Mercedes и т.п. такие же преступники.
В каком, говорите, году BMW, AUDI, Mercedes и т.п. стали оснащать подушками безопасности? Какой, говорите, расход специально подготовленных под презика Калин на 1000 км? Четыре экземпляра? :) Существует ли для свежевыпущенного и только что купленного BMW, AUDI, Mercedes и т.п. обязательная стадия ТО под название «протяжка» (планомерная затяжка всех доступных и не доступных резьбовых соединений не докрученных доблестными работниками автотаза и пр.)? И т.д. и т.п.
BDD в части документирования. Остальное — почти то же самое :)
>чем программирование по контракту лучше и мощнее?
Написанием «правильного» кода. Формулирование контрактов куда более мощный способ заставить себя думать, как написать «правильный код». Тесты — лишь [последующая] проверка частных случаев.
Документирование. Во-первых, она находится «по месту», во-вторых куда более внятная, чем лежащие непонятно где тестs, в-третьих, тесты легко отстают от кода при простом манкировании дисциплиной, с контрактами же проделать такой фокус куда сложнее :).
Хи-хи-хи. «Даже» BDD является следующим этапом TDD (особенно по части документирования кода — не пожелаю даже и врагу «документацию» в виде тестов и если дело действительно настолько катастрофично сначала всё-равно буду читать непосредственно код). Контрактное программирование не имеет непосредственного отношения наследования к обоим, но по многим критериям превосходит многие преимущества и того и другого.
>Именно отсюда и возникает эволюционный дизайн
Угу. А до ТДД при каждом баге или изменении требований всю систему по-вашему, редизайнили и переписывали заново? Вы очень сильно ошибаетесь.
>Опять же, важным этапом TDD является рефакторинг
См. предыдущий пункт. Нет проблем НЕ далать рефакторинг при ТДД — это легко и просто. Равно как нет проблем делать его без ТДД относительно легко (при хорошем покрытии тестами) либо тяжело (без таковых).
>не пробую посмотреть по сторонам и поучиться у других. Жаль(
Адресую это вам. Похоже вы, «внезапно» открыли для себя ТДД и теперь, как новообращённый адепт восторженно приписываете этой практике всё подряд, присущее ей или нет (подменяя, при этом, понятия) и не пробуете даже посмотреть вокруг. Жаль (
Поверьте, мне, в общем-то, всё равно, нравится оно вам или нет. Просьба только не подменять понятия. Нравиться — ну, каждый извращается по-своему. Приемлите для себя «документацию» в виде юнит-тестов (бррррр) — ну, дело ваше. Но, поверьте, есть вещи поудобнее :).
«правильный» только с точки зрения юнит-тестирования
>Эволюционный и адаптивный дизайн тоже возникает только при TDD
Ого! Сильное заявление! Так таки и «только»? А доказать?
>Детальная документация кода возникает когда тестов много — это раз, и когда в тестах проверяется только нужное — это два
«Детальная документация» в виде юнит-тестов — это не документация. Опять подмена понятий.
>Это тоже возможно только
Опять только? А, по-моему, чушь. Как минимум, существует контрактное программирование, которое большинство этих ваших задач (правильный код, Эволюционный и адаптивный дизайн, Детальная документация!) позволяет выполнить куда лучше, нежели TDD. Да, с TDD тоже можно, но это ведь инструмент для другого, а гвозди лучше забивать молотком, чем отвётркой, хотя отвёрткой тоже можно, конечно, но… хм… зачем? :)
>И да, TDD это не юнит-тестирование
Разумеется. Но обсуждаемые преимущества, кроме сомнительного первого, относятся именно к юнит-тестированию вообще, а не к ТДД частности.
Из всех, так называемых, преимуществ ТДД (из ссылки в статье) кое-каким преимуществом является только первое. С оговоркой, — «в некоторых случаях». Остальные преимущества являются преимуществами использования юнит-тестирования в общем (с этим уже трудно спорить) и к собственно ТДД имеют довольно косвенное отношение.
Таким образом, вы доказали преимущества использования юнит-тестирования, но необходимость внедрения обязательного ТДД лично мне, по-прежнему, кажется более чем сомнительной.
Ровно наоборот. Кабы Малевич нарисовал прямоугольник со скруглёнными углами, жадные тролли не смогли бы его запатентовать в силу того, что он уже обнародован.
Почему бы и нет. Получится с небольшим запасом. Для большинства практических целей вполне годно. А вот точное значение скорее менее годное — при записи на устройство придётся учитывать «хвосты».
>А ведь из записи 276 517 019 при предлагаемом подходе мы можем легко прочитать размер не только в мегабайтах, но и в килобайтах
$ ls -gG
-rw-r--r-- 1 161201 дек. 14 2011 tvnjviewer-2.1-src.zip
$ ls -gGh
-rw-r--r-- 1 158K дек. 14 2011 tvnjviewer-2.1-src.zip
ни какого мошенства
И, даже если внезапно захотелось стандарта
$ ls -gGh --si
-rw-r--r-- 1 162k дек. 14 2011 tvnjviewer-2.1-src.zip
Давайте НЕ будем использовать надуманных мертворожденных стандартов, пусть они даже и от Международной Электротехнической Комиссии родом. Рождены они исключительно для потакания вранью маркетоидов в их рекламном булшите и не имеют ни какой практической пользы.
Кило- мегабайты использовались (и используются) в 1024-ичном значении задолго до вашего рождения и все, кто использовал эти еденицы были в курсе и не испытывали неудобств. Ваша забота о мамах-бабушках трогательна, но мама-бабушкам на самом деле совершенно безразлично сколько байтов в килобайте вся «проблема» состоит в несоответствии цифирек на наклейке винчестера реальным цифрам. Вот она причина! А приставки-стандарты — это лишь следствие. Единственно-разумным решением во всей этой глупой истории было с самого начала заехать по наглой рыжей морде брехливым рекламистам производителей устройств хранения и не было бы ни головняка с безумными префиксами, да и бабушки спали бы спокойно. К сожалению, момент упущен :(. Остаётся только игнорировать этот дебилизм и надеяться, что бабушки не будут принимать враньё рекламщиков так близко к сердцу.
В названии фирмы? Ну… попробуйте :)
В данном случае, очевидно, что решение о рассылке писем принималось не мелким клерком с потолка. Не?
А уж при чём тут бизнесмены — вообще не понятно. Бизнесмены — это как раз владельцы бизнеса и высшее руководство. Начальник местного филиала в каком месте бизнесмен??? Обычный наёмный работник.
Ну, при чём здесь.ру??? Адобе — фирма.ру? Бред. В соседнем копирастическом топике германские резиденты почти все рассказали о письмах щастья, которые им рассылают немецкие копирасты (ахтунг, злобные.ру пробрались в немецкую копирастию!) после скачивания чего-нибудь с торрентов (ахтунг в квадрате! Они следят!).
Противозность какая, буэ.
В каком, говорите, году BMW, AUDI, Mercedes и т.п. стали оснащать подушками безопасности? Какой, говорите, расход специально подготовленных под презика Калин на 1000 км? Четыре экземпляра? :) Существует ли для свежевыпущенного и только что купленного BMW, AUDI, Mercedes и т.п. обязательная стадия ТО под название «протяжка» (планомерная затяжка всех доступных и не доступных резьбовых соединений не докрученных доблестными работниками автотаза и пр.)? И т.д. и т.п.
>Експерт же говорит.
Сам передаст…