Павел
Это потом аукается
Lee
Лучше скажите у кого на легаси-проекте были тесты?
The Ant
вот именно ) сначала делаешь быстро быстро кое как, а потом тесты хуесты при рефакторинге
The Ant
это в случае если наступит рефакторинг
Lee
Во-во. А наступает в случае когда код на сопли похож.
The Ant
ладно похож, когда начинает приносить бабло. что далеко не всегда получается
Borys
Сначала тесты, потом код, не? Не принято у нас?
Lee
Про TDD все говорят, но ни разу не видел в действии.
Павел
Я бы вообще сначала тесты писал. Тогда и код чище бы был
The Ant
кому нужен чистый код, который не приносит бабла? покажите мне такой )
Lee
Сначала тесты, потом код, не? Не принято у нас?
Расскажите где это "у вас"? :)
Павел
Был один проект когда я так делал - песня! Но он не взлетел и скоропостижно скончался
Павел
До сих пор вспоминаю со слезами на глазах
Borys
Расскажите где это "у вас"? :)
СНГ, буржуев не беру, с ними не работал
Павел
стоило затраченных усилий?
Окупается на раз когда попривыкнешь
Borys
Точнее работал, но это был проект буржуев на котором работали хохлы :D
The Ant
ну вот в том конкретном случае ты не жалеешь о том что потратил стока сил впустую?
Павел
ну вот в том конкретном случае ты не жалеешь о том что потратил стока сил впустую?
На фрилансе бывает такое, да и не только на фрилансе. За эту работу мне заплатили кстати
The Ant
Сколько? Тесты пишутся не столь долго.
даже минута лишнего времени уже напряг )
Borys
даже минута лишнего времени уже напряг )
lol, а в чате ты сколько лишнего времени тратишь?)
The Ant
в чате я отдыхаю, а написание тестов это работа
Borys
экономия на спичках получается)
The Ant
чутка разные вещи
Павел
в чате я отдыхаю, а написание тестов это работа
Не, когда тесты пишешь уже в голове складывается реализация
Andrew White
Илюха, а когда ты писал тесты последний раз?
Павел
Не зря потраченное время однозначно
The Ant
Не, когда тесты пишешь уже в голове складывается реализация
оч редко думаю про реализацию. вот ваще, пару раз в месяц м.б. остальное на автомате
Aleksey
тесты можно писать поверхностно - чтобы хотябы отвечало кодом 200, потом уже наворачивать в сложных местах
The Ant
новички может быть тупят, думают как сделать. норм парни просто хуярят 4 часа без перекура а потом идут чай пить и в чятик
The Ant
Тогда и тесты на автомате будут
нет, на них нужно время
The Ant
песать буквы, фикстуры микстуры, идут они нахуй )
Павел
Когда вот надо переделать базовую модель, которая везде используется, как все проверить?
The Ant
через AR все пускаешь?
чо? это как? без пояснения не понимаю о чем речь
Borys
чо? это как? без пояснения не понимаю о чем речь
Ты с нуля проекты создаешь или давно на доработке уже существующих?
The Ant
Ты с нуля проекты создаешь или давно на доработке уже существующих?
на доработке с нуля, можно так сказать. часть переписываю, часть поддерживаю
Павел
контр+ф, замена
Замена чего?
The Ant
Замена чего?
того что изменилось
Lee
@pomazkov дай срач поддержать!
Павел
Прям кусками когда будешь менять?
The Ant
Прям кусками когда будешь менять?
ну найду везде где встречается эта базовая модель и исправлю кка нада. тесты то как в этом помогут?
The Ant
покажут что не работает? и что )
The Ant
если изменил именование метода оно везде неработает, ясно же
The Ant
А где хранишь бизнес логику проекта?
в моделях, где ж еще. не в тех которые AR yii'шные
Павел
ну найду везде где встречается эта базовая модель и исправлю кка нада. тесты то как в этом помогут?
Ты меняешь функционал базовой модели которая наследуется всем проектом. Как проверяешь что все работает после этого?
Павел
Да пофиг какой. Правила валидации например
The Ant
safe ставь да и все. пусть форма валидирует
Павел
И как это тебе поможет избежать ошибок?
The Ant
никак, зачем их избегать? пусть вводят нормальные данные. которые нужны форме
Павел
Допустим ты сделал обязательным поле, которое где то совсем не обязательное
The Ant
а AR модель просто сохраняет что-то там
Павел
И что что сохраняет?
The Ant
Допустим ты сделал обязательным поле, которое где то совсем не обязательное
ну вот в форме и сделал. а в модели AR оно safe атрибут )
Olzhas
И не сохраняется, потому что ты пытаешься в интегер записать стринг ахахаха
Павел
Ты сделал это в базовой модели
Павел
Без safe
Павел
Это же пример
The Ant
в сафе сохраняется все, и выкинет исключение если в инт засунешь слово )
The Ant
иму просто похуй чо сохранять, пропускает все. еще раз - валидирует входные данные форма. отдельная от AR модель
The Ant
у нее есть разные сценарии
The Ant
разный набор данных
Павел
Вот ты умный и крутой, а это поменял новинький ваш разраб и задеплоил
The Ant
которые она может принимать и сохранять
Borys
иму просто похуй чо сохранять, пропускает все. еще раз - валидирует входные данные форма. отдельная от AR модель
Понятнее будет написать что данные валидирует модель формы, а вот сохраняет данные уже entity.
Borys
Правильно жи, да?
Павел
И у тебя форма отправки заказа поломалась например
The Ant
да ) но AR модель это не ентити, строго говоря )
The Ant
но мысль ты уловил правильно
Olzhas
Ентити хуентити tdd ddd
Павел
Потому что модель наследуется от базовой, и у нее это поле совсем не обязательное и не заполняется. Например поле name
Olzhas
Наш выбор - хуяк хуяк и в продакшн