Да ладно вам :) Фраза про патенты на патенты, про патенты на дыхание, на кислород, на колесо и т.п. уже давно стала верным индикатором того, что автор сильно ангажирован против патентной системы, но сам в ней не разбирается. Что-то вроде религии, фанатизма, ну может не настолько круто, но всё равно лучше обойти стороной.
Так что бросайте это дело :) Такие патенты конечно можно получить, если в описании всё спрятать за муторным языком, чтобы принимающий засыпал каждый раз, как пытался прочесть, но пользы от них ноль. Prior act никто не отменял. Защититься от них сможет даже немой адвокат.
Похоже, есть ещё один скрытый вид патентного троллинга, который не так распиарен. И этот закон как раз против этих невидимых троллей, а не «популярных».
Если подумать, то троллить изобретателей с 'first to invent' очень просто. Надо отслеживать новые заявки, а потом их быстро дублировать, меняя слова, оставляя суть. Теперь изобретателю, чтобы доказать своё первенство, надо идти в суд, т.е. искать деньги, а у троллей их обычно больше. Хороший адвокат затягивает дело, пока изобретатель не остаётся на мели, и всё, патент отжат.
Если честно, со мной всё наоборот. Иррациональность подзадоривает, заставляет думать, искать рациональное решение или простой и элементарный способ объяснить что тут не так. А когда задание чётко и логично, хочется зевать.
Даже в такой гипертрофированной ситуации как в ролике есть рациональное решение, удовлетворяющее на 100%: две красные перпендикулярные прямые. Все остальные перпендикулярны первым двум, а значит находятся в остальных 5 измерениях, а значит отображаются на бумагу точкой. И теперь совсем не важно какого они цвета и формы, пусть хоть синий котёнок.
Вася и Петя одновременно начали писать один и тот же продукт.
Вася был «ориентирован на результат» и начал сразу писать говнокод не продумав толком архитектуру. А Петя начал решение задачи с описания продукта со стороны пользователя, потом сделал тесты, и только потом начать писать. Писал не больше и не меньше, а ровно столько, чтобы все тесты прошлись.
Чтобы выйти на рынок раньше, Петя выделил необходимым минимум и сконцентрировался на нём, в то время как Вася говнокодил без плана в голове.
На удивление Васи, Петя вышел на рынок раньше. Во-первых, autotest сэкономил Пете дни, которые Вася тратит на ручное тестирование после каждого сохранения. А, во-вторых, упавшие тесты и незачёркнутые пункты в туду чётко показывали Пете где финиш. Поэтому он двигался намного быстрее, чем Вася, у которого постоянно то там, то там что-то отваливалось, света в конце тунеля не видно, и от того опускались руки и запускался контр-страйк.
Оба ошиблись в архитектуре, оба справились за одно и тоже время, только Петя просто переписал часть, а Вася приставил костыли, боясь регрессий (и всё равно две появилось, только он про них ещё не знает, потому что уже давно перестал охватывать весь код целиком).
Они вышли на рынок с небольшой разницей, несмотря на то, что Петин интерфейс был более продуманным и привлёк больше пользователей, оба не угадали, и пошел фидбек.
Петя стал просто переписывать куски и добавлять тесты, публикуя релизы раз в неделю. Вася стал достраивать костыли, потом месяц бороться с ошибками, потом ещё пару недель тестировать вручную. В результате чаще, чем раз в полгода, релизы не выходили. Пользователям это не понравилось.
Вот уже третий год Вася пытается начать заново, но всё ещё не может, потому что вся прибыль, которую приносит говнокод, уходит на его поддержку. Пользователи уходят. Наконец Вася бросил проект и ушел в маркетинг.
Нет, Вася не винит себя, он винит судьбу. Ну почему ему не попался тот «Петя», который перфекционист и идеалист, с которого все ржут? Почему ему попался практичный Петя, который с умом и в меру использовал известные практики, тем самым оставив говнокод Васи далеко позади?
Если выкидываете модуль, то просто выкидываете и тесты для него. Интеграционные и функциональные надо будет править, да, как и весь нормальный код, который использовал категории.
А что про статью, то:
Сразу скажу — не моя идея, в статье «Проектирования больше нет?» сам Мартин Фаулер писал об эволюционном рефакторинге.
Обычно считают, что TDD замедляет те, кто делает это неэффективно:
— пишет юнит тесты на тривиальные функции
— перегибает: например, тест, который проверяет, что функция A вызывает функции B, C, D, а C вызывает E, когда особой необходимости именно в такой реализации и разбивки на функции нет.
— не пытается сделать тест инвариантым к изменениям
— сначала пишет код (конечно же тестирует вручную), а потом вспоминает про тест.
А не видят, где TDD больше всего экономит те, кто никогда не разрабатывал с autotest :) TDD больше всего экономит не там, в будущем, а прямо сейчас, во время программирования, когда не надо после каждого сейва нажимать Alt-tab и вручную тестировать изменения, а достаточно скосить глаза на соседнее окно, где только что пробежали новые тесты.
Когда выходит первая версия, и появляются первые пользователи, как думаете, первая прибыль сможет перекрыть первый поток фичреквестов и багрепортов, чтобы ещё остались деньги на команду «второй очереди»? А если учесть, что к моменту первого релиза все первопроходцы выжаты до суха, так как вложились на 100% в расчёте на будущий рай?
Нет. Тогда откуда деньги на команду «второй очереди»?
Из опыта: есть дырявый проект с костылями, который делался без тестов практик а лишь бы побыстрее. Занял нишу, нашел хороших инвесторов, куча пользователей, сириус бизнес. Только…
Сейчас на средства которые вливаются в починку багов (лишь бы Это дышало) позавидует любой стартап. На эти деньги можно их пачку поднять.
Не хватает разработчиков на починку багов. Давно немаленький такой штат, но всё равно каждый месяц находят больше чем чинят. Название проекта уже стало магическим словом, которое, прозвучав, навевает грусть и уныние.
Снежный ком говнокода уже давно неподконтролен. Внутренняя сложность ПО уже давно перешла все рамки любого мозга. А без тестов никто не решается это рефакторить.
Движения наверху. Никто не может Это сдвинуть хоть куда-то. Никто не может это исправить. (Уже никто и не берётся). Тех кто начинал уже давно поменяли инвесторы на более опытных. Но всё равно инвесторы недовольны.
Ресурсы, которые уходят на поддержку старого, практически не оставляют ничего тем, кто хочет начать с нуля.
Конечно, кто-то может назвать это успехом… но Боб прав. Если вам важна скорость выхода на рынок, то надо обрезать функционал первой версии до минимума, но никогда, никогда, никогда не трогайте практики!
А ещё, судя по видео (0:33), поворачивает заднее колесо. Значит зад будет постоянно заносится и царапать всё что рядом. Откуда у них 14 заказов на такое непрактичное решение? Коллекционеры?
О, да. Прошу прощения, но вынужден слинять из дискуссии, размазывая сопли по слёзам из-за своей неудачной судьбы: «о боже, у меня нет десяти счетов в банках, что я вообще смыслю в этой жизни?».
Удачи вам в поисках достойного оппонента, чтобы так счетов 20, а то и *шепотом* 30! Вот у кого можно поучится.
> А я имею право считать такой банк неадекватным.
> И имею право считать, что время виндовз прошло. безвозвратно.
Да, вы имеете такое право. Как и у меня есть право считать неадыкватным банк, девочки которого не приносят мне пиццу по пятницам. Я, например, глубоко верю, что именно за таким вниманием к клиенту будущее. И все банки, которые этого не понимают, сдохнут.
И кому какая разница, считают ли такой подход адекватым другие. Главное: я же право имею, да? :)
Как клиент вы можете искать банк под любые ваши требования. Пусть хоть девочки в бикини каждую пятницу разносят пиццу всем клиентам. Ваше право.
Но считать неадекватным банк, оператор поддержки которого не знает как поведёт себя банк клиент в нестандартных условиях нельзя. (а ведь речь была об этом а не о том, что linux и macos не входят в поддерживаемые A, B, C — это отдельный разговор).
Наоборот. Если бы мне оператор вдруг ответил и начал рассказывать какие проблемы у их ПО под разными виртуалками и эмуляторами, то это 100% надо бежать. Это значит там неэффективный менеджмент, который или не может найти нормального применения хорошим спецам или заставляет девочек зубрить совершенно не то, что нужно.
Тоже и со спецами. Умный менеджменет не будет напрягать разработчиков изучать 100500 нестандартных конфигураций, встречающихся у 1% пользователей. Их задача — сконцентрировать усилия на тех 5 системах, которые официально поддерживаются. Разработчик в принципе может ответить, но это удача, а не так и надо. Значит просто разработчик самостоятельно с этим игрался.
По-моему, это уже перебор. Девушка неопытная попалась. Правильный ответ был бы: «Мы гарантируем работу только под операционными системами A, B, C на реальном железе. Все остальные варианты официально не поддерживаются, пробуйте на свой страх и риск.»
Вы же не думаете, что разработчики ПО (а банк-клиент — это ПО) должны попробовать всю пачку операционок и способов виртуализации и эмуляции, и знать где что и почему не работает?
Со своей стороны я предложил им подключиться к нашей, легальной библиотеке, которая будет приносить доход и им, и нам, а также технологическое сотрудничество – они могли бы протестировать свою технологию на базе пользователей нашего приложения. Иначе я не понимаю, зачем мне, собственно, восстанавливать «Читатель» в App Store – мы коммерческая организация, в конце концов, и ничем ЦРТ не обязаны.
Та запись диалога через скайп подтверждена другой стороной: литрес почувствовал власть и прямо шантажировал.
Так что бросайте это дело :) Такие патенты конечно можно получить, если в описании всё спрятать за муторным языком, чтобы принимающий засыпал каждый раз, как пытался прочесть, но пользы от них ноль. Prior act никто не отменял. Защититься от них сможет даже немой адвокат.
Если подумать, то троллить изобретателей с 'first to invent' очень просто. Надо отслеживать новые заявки, а потом их быстро дублировать, меняя слова, оставляя суть. Теперь изобретателю, чтобы доказать своё первенство, надо идти в суд, т.е. искать деньги, а у троллей их обычно больше. Хороший адвокат затягивает дело, пока изобретатель не остаётся на мели, и всё, патент отжат.
Даже в такой гипертрофированной ситуации как в ролике есть рациональное решение, удовлетворяющее на 100%: две красные перпендикулярные прямые. Все остальные перпендикулярны первым двум, а значит находятся в остальных 5 измерениях, а значит отображаются на бумагу точкой. И теперь совсем не важно какого они цвета и формы, пусть хоть синий котёнок.
А что про статью, то:
идём по ссылке, а там:
PS: TDD в этой статье под словом «рефакторинг», потому что рефакторинг по Фаулеру, это всегда тесты, тесты, тесты и только потом действия.
— пишет юнит тесты на тривиальные функции
— перегибает: например, тест, который проверяет, что функция A вызывает функции B, C, D, а C вызывает E, когда особой необходимости именно в такой реализации и разбивки на функции нет.
— не пытается сделать тест инвариантым к изменениям
— сначала пишет код (конечно же тестирует вручную), а потом вспоминает про тест.
А не видят, где TDD больше всего экономит те, кто никогда не разрабатывал с autotest :) TDD больше всего экономит не там, в будущем, а прямо сейчас, во время программирования, когда не надо после каждого сейва нажимать Alt-tab и вручную тестировать изменения, а достаточно скосить глаза на соседнее окно, где только что пробежали новые тесты.
Нет. Тогда откуда деньги на команду «второй очереди»?
Сейчас на средства которые вливаются в починку багов (лишь бы Это дышало) позавидует любой стартап. На эти деньги можно их пачку поднять.
Не хватает разработчиков на починку багов. Давно немаленький такой штат, но всё равно каждый месяц находят больше чем чинят. Название проекта уже стало магическим словом, которое, прозвучав, навевает грусть и уныние.
Снежный ком говнокода уже давно неподконтролен. Внутренняя сложность ПО уже давно перешла все рамки любого мозга. А без тестов никто не решается это рефакторить.
Движения наверху. Никто не может Это сдвинуть хоть куда-то. Никто не может это исправить. (Уже никто и не берётся). Тех кто начинал уже давно поменяли инвесторы на более опытных. Но всё равно инвесторы недовольны.
Ресурсы, которые уходят на поддержку старого, практически не оставляют ничего тем, кто хочет начать с нуля.
Конечно, кто-то может назвать это успехом… но Боб прав. Если вам важна скорость выхода на рынок, то надо обрезать функционал первой версии до минимума, но никогда, никогда, никогда не трогайте практики!
Удачи вам в поисках достойного оппонента, чтобы так счетов 20, а то и *шепотом* 30! Вот у кого можно поучится.
> И имею право считать, что время виндовз прошло. безвозвратно.
Да, вы имеете такое право. Как и у меня есть право считать неадыкватным банк, девочки которого не приносят мне пиццу по пятницам. Я, например, глубоко верю, что именно за таким вниманием к клиенту будущее. И все банки, которые этого не понимают, сдохнут.
И кому какая разница, считают ли такой подход адекватым другие. Главное: я же право имею, да? :)
Но считать неадекватным банк, оператор поддержки которого не знает как поведёт себя банк клиент в нестандартных условиях нельзя. (а ведь речь была об этом а не о том, что linux и macos не входят в поддерживаемые A, B, C — это отдельный разговор).
Наоборот. Если бы мне оператор вдруг ответил и начал рассказывать какие проблемы у их ПО под разными виртуалками и эмуляторами, то это 100% надо бежать. Это значит там неэффективный менеджмент, который или не может найти нормального применения хорошим спецам или заставляет девочек зубрить совершенно не то, что нужно.
Тоже и со спецами. Умный менеджменет не будет напрягать разработчиков изучать 100500 нестандартных конфигураций, встречающихся у 1% пользователей. Их задача — сконцентрировать усилия на тех 5 системах, которые официально поддерживаются. Разработчик в принципе может ответить, но это удача, а не так и надо. Значит просто разработчик самостоятельно с этим игрался.
Вы же не думаете, что разработчики ПО (а банк-клиент — это ПО) должны попробовать всю пачку операционок и способов виртуализации и эмуляции, и знать где что и почему не работает?
Та запись диалога через скайп подтверждена другой стороной: литрес почувствовал власть и прямо шантажировал.
О, так Иммунитет ещё работает и как фаервол на сервере? А сервер значит на Винде?