Если вы поставите пожарную сигнализацию, начнете ли вы менее бережно обращаться с огнем? Будете ли менее тщательно проектировать проводку? Если поставите сигнализацию на машину или квартиру, станете ли оставлять ее открытой? Дико сомневаюсь. Ваше поведение останется прежним, просто вы будете спать крепче по ночам. Так и с тестами: ничего не поменялось, просто появился парень, прикрывающий вам спину и сводящий ваши ошибки к минимуму. Я так и не понял, с какого перепугу я вдруг должен начать писать код, за который мне будет стыдно.
В качестве добавки: далеко не всегда приходится переписывать свой код. Часто это чужой код в миллионы строк. Запущенный один раз тест выдаст на экран всю документацию по проекту. Могут ли так сделать комменты?
Хотя раньше тратил в сто раз больше усилий мозга, сидел в дебаггере, перепроверял себя по десять раз и все равно имел шанс где-то что-то забыть
И это хорошо? Сейчас я через несколько секунд после написания кода узнаю о том, что все работает ок или не ок. Красота кода осталась той же, стиль кода изменился только в лучшую сторону (и то заслуга не тестов, а времени и опыта). Тести заменили именно перепроверку себя по 100 раз. Теперь это автоматизированно.
Тесты НЕ делают красивый код необязательным. Вообще не понимаю, откуда эта чушь взялась в ваших головах.
1. Еще раз — это он почему-то решил, что теперь можно писать плохо. Тесты тут не виноваты.
2. Одно другому не мешает. Но ваши комменты к коду не скажут вам, что то-то пошло не так.
3. Это не мания, это принцип TDD. Пишем тест, пишем максимально быстро код для этого теста, делаем этот код красивым. Это правда работает, поверьте.
4. Хорошо написанные тесты дают далеко не мнимую уверенность.
Без тестов пробовал. С тестами удобнее.
Телевизор как мебель есть, телевидения нет. Не нужно.
Я и не говорил, что я уникален.
Вы можете не писать тесты, ради бога. Можете даже код не комментировать — еще время сэкономите. И не тестировать руками. Еще немного экономии. Попрыгали по клавиатуре — и в продакшн. Зато быстро же.
Нужно отдавать себе отчет в том, что ты делаешь. Не тесты делают твой код плохим — ты его делаешь плохим. Тот же самый говнокодище можно писать и с тестами, и без тестов, и на руби, и на пыхе. Мозги никто не отменял, и, как я уже писал ранее, тесты мозги не заменяют. Многие воспринимают тесты как панацею от всего, многие — как псевдонауку и трату времени. Но они — не то и не другое. Это подспорье, очень хорошее подспорье. Самопроверяющаяся документация к проекту. По хорошо написанному тесту (даже по его заголовкам) можно понять назначение и принцип работы функции или класса. Тесты помогают безопасно проводить рефакторинг кода. Но тесты никоим образом не вынуждают писать говнокод. Не зря в цикле TDD три этапа, а не два. После получения зеленых тестов обязательно нужно провести рефакторинг нового кода. Но не методом «дай ка я вставлю эту функцию тут», а вдумчиво.
Не тесты делают код плохим, код становится плохим, когда кто-то решает, что теперь можно его плохо писать, потому что теперь есть тесты.
Говоря о человеческой природе… Я езжу на другой конец города в секцию боевых исскуств (велик — не мое, к сожалению), читаю книги, не имею дома телевизора, периодически встречаюсь с друзьями. А еще я пишу хороший код, пользуя BDD. Такие дела.
Ну да, в том, что люди меньше читают, виноват телевизор. В том, что не катаются на велосипедах — автомобили. В том, что редко общаются вживую — эти ваши интернеты. Правительство там еще можно прикрутить куда-нибудь. Ленивая тупая скотина (прямая цитата автора) всегда найдет, на кого можно спихнуть свою лень и тупость.
Потомки не могут стоять за мной, за мной стоят предки, точнее, их наследие. А на данный момент это мои средства, которыми распоряжаюсь я.
Но вы опять съезжаете с темы. Вы выше имели неосторожность намекнуть, что возможность поощрения «того-кто-достоин» может как-то пагубно сказаться на достойном. Ребенок, объевшийся конфет, помните?
Конфета — это не универсальное вознаграждение. В магазин за хлебом тоже по обыкновению не с конфетами ходят. А вот если каждый встречный прохожий будет давать ребенку сто рублей, то счастливый папа будет чаще выгуливать своего золотоносного ребенка.
В любом законе можно найти лазейку. Если у вас есть какие-то опасения, почему бы из не включить в трудовой договор? Тема разных часовых поясов, например, обязательно всплывет на собеседовании.
Да и ситуация, в которой работодатель не хочет мирно разрешить вопрос и начинает придираться, заставляет задуматься. Тут уж либо с вами что-то не так, раз вас пытаются выжить с места работы, либо что-то не так с работодателем, так зачем он вам такой нужен? Это же трудовой кодекс, а не закон о рабовладении. А вы так описываете, будто работника поймали на улице и ищут повод надавать ему хлыстом по спине.
А в работниках у нас, выходит, одни безмолвные овечки? Им сказали работать 16 часов в сутки — они работают? Имхо любой человек в своем уме после такого «предложения» пошлет подписанное посредством ЭЦП заявление предложившему, а самого предложившего — по известному адресу.
И это хорошо? Сейчас я через несколько секунд после написания кода узнаю о том, что все работает ок или не ок. Красота кода осталась той же, стиль кода изменился только в лучшую сторону (и то заслуга не тестов, а времени и опыта). Тести заменили именно перепроверку себя по 100 раз. Теперь это автоматизированно.
Тесты НЕ делают красивый код необязательным. Вообще не понимаю, откуда эта чушь взялась в ваших головах.
2. Одно другому не мешает. Но ваши комменты к коду не скажут вам, что то-то пошло не так.
3. Это не мания, это принцип TDD. Пишем тест, пишем максимально быстро код для этого теста, делаем этот код красивым. Это правда работает, поверьте.
4. Хорошо написанные тесты дают далеко не мнимую уверенность.
Без тестов пробовал. С тестами удобнее.
Телевизор как мебель есть, телевидения нет. Не нужно.
Я и не говорил, что я уникален.
Вы можете не писать тесты, ради бога. Можете даже код не комментировать — еще время сэкономите. И не тестировать руками. Еще немного экономии. Попрыгали по клавиатуре — и в продакшн. Зато быстро же.
не тудаНе тесты делают код плохим, код становится плохим, когда кто-то решает, что теперь можно его плохо писать, потому что теперь есть тесты.
Говоря о человеческой природе… Я езжу на другой конец города в секцию боевых исскуств (велик — не мое, к сожалению), читаю книги, не имею дома телевизора, периодически встречаюсь с друзьями. А еще я пишу хороший код, пользуя BDD. Такие дела.
Но вы опять съезжаете с темы. Вы выше имели неосторожность намекнуть, что возможность поощрения «того-кто-достоин» может как-то пагубно сказаться на достойном. Ребенок, объевшийся конфет, помните?
Да и ситуация, в которой работодатель не хочет мирно разрешить вопрос и начинает придираться, заставляет задуматься. Тут уж либо с вами что-то не так, раз вас пытаются выжить с места работы, либо что-то не так с работодателем, так зачем он вам такой нужен? Это же трудовой кодекс, а не закон о рабовладении. А вы так описываете, будто работника поймали на улице и ищут повод надавать ему хлыстом по спине.