Guest
Это вы про "Разработка через тестирование" ? Спасибо стараюсь читать, но пока сложно понять статьи в которых написано то, что ты в корне не понимаешь. Это как объяснять человеку как работает двигатель автомобиля, если человек не знает даже что такое автомобиль. Где б статью найти чтоб на пальцах объяснили саму идею =)
YVSIK
Я не понимаю к чему вы это) я знаю что такое классы
Цитата |
Ранее мне гворили класс -ЭТО ОБЁРТКА ДЛЯ ФУНКЦИЙ |
быть может я вам давным давно это и говорил на этом форуме =)
SoMeOnE
Ну опять теория, я где то слышал про эти тесты и вроде даже есть инструменты, которые каким то волшебным образом делают эти тесты автоматически, я еще понимаю всякие отладчики, которые показывают сколько функций запустилось, сколько памяти съело, сколько запросов в бд, тут сразу можно посмотреть и увидеть косяк что запросов быть не должно так как всё кешируется, ага значит не кешируется.
Но что за тесты? Функцию, которая получает данные, пишет в базу и если успешно записала возвращает true либо false, переделать так, что бы она не писала в базу а просто возвращала true если хотя бы до этого дошло? Или что?
Простите я как ребёнок, мне всё нужно на пальцах показать, я не решу задачу если не пойму зачем она поставлена, еще со школы пошло =)
_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Arh можно я буду вас игнорировать? Ну слил я вам идеальную карму, будете меньше якобы "саркастичексие" сообщения писать.
SoMeOnE, откройте тему про тесты и пригласите Arh туда, просто тема "тестов" к данной теме не будет относиться.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
chee
Цитата |
можно я буду вас игнорировать? |
желательно, а то у моей машины от ваших минусов колёса подспускают
_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
SoMeOnE
2.11.2014 - 01:07
Arh, В этой теме это дейсвительно пошел оффтоп. Со свой стороны тему создавать не буду) Так как недостаточно опытен, что бы учить)
Создайте тему, я и там отпишусь, многие опытные разработчии подкинут мысли.
Очень сложно в рамках формума показать преимущества тестов и тд. Я рассказал про свой сегодняшний опыт. Это не теория. Это рассказ продвинутого джуниора)))
SoMeOnEОк, может и правда стоить создать.
TDD
_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
YVSIK Противно читать Ваши тесксты.
Идите работать на завод лучше.Ваши знания = 0,не позортесь.
Ой, сколько я проспал)))
chee
Цитата |
ну тогда ничего не поделать, |
Вот именно. Про такие случаи я и говорю. И это не единичная ситуация. Особенно если система контроля версий у вас прикручена на боевой сайт. Тут вообще можно очень серьёзно окарать. Любая синтаксическая ошибка, неверно поставленная запятая в любом классе, при ошибочном мерже гарантированно валит весь сайт. У меня только одну страницу. В том и сакраментальная разница.
Цитата |
Так как вы долго отвечаете |
Ну это форум, имейте терпение. Я все-таки в Сибири нахожусь и ночью хочу спать)))
Цитата |
то я написал пример вашего кода |
Спасибо конечно, но на самом деле все не так. Вся фишка в этом:
Цитата |
у меня лошадка умеет делать все что и другие животные, а у вас только "игого". |
Нет. У вас лошадка
обязана уметь делать все. А в ассортименте, как мне помнится, была селедка. Она не умеет говорить. Я расширяю библиотеки по мере надобности. Для рыбки не стану.
А так, если мне потребуется полноценная лошадка, я не стану городить расширений, а просто добавлю в библиотеки недостающие методы. Оно пригодится потом. И это не усложняет разработку, как может показаться на первый взгляд. Дело в том, что вы столкнетесь с таким же объемом работ, если потребуется научить всех зверушек еще и хлопать глазками.
class Enimals_Sounds
{
public static function кошка()
{
echo 'мяу';
}
public static function собака()
{
echo 'гав';
}
public static function селедка()
{
echo '...';
}
public static function лошадка()
{
echo 'игого';
}
}
class Enimals_Jump
{
public static function кошка()
{
}
public static function собака()
{
}
public static function селедка()
{
}
public static function лошадка()
{
}
}
class Enimals_MoveTail
{
public static function кошка()
{
}
public static function собака()
{
}
public static function селедка()
{
}
public static function лошадка()
{
}
}
class Zoo
{
public static $Зверушки = array();
public static function run($action)
{
if (!class_exists($action))
throw new Exception();
foreach (self::$Зверушки as $Животина) {
$action::$Животина();
}
}
}
Zoo::$Зверушки = array('кошка', 'собака', 'лошадка');
Zoo::run('Enimals_Sounds');
Zoo::$Зверушки = array('кошка', 'собака', 'селедка', 'лошадка');
Zoo::run('Enimals_Jump');
Zoo::run('Enimals_MoveTail');
Считайте теперь.
И тут вот еще в чем кикоз: в свободе действий. Если это разовая лошадка, я запросто могу сделать и лошадку целиком, как у вас. Я не связан канонами. Никто не запрещает локально использовать любую парадигму, в отличие от. Если ООПэшник смешает где то объекты с действиями, его просто не поймут и начнут критиковать,
как в этом примере. Мол ты чего подрываешь устои???
Цитата |
Выводы(на данный момент): Ваш код более производительный, но при этом для изменения поведения нужно править существующий код, в моем же случае с производительностью беда, но классы я не правил, а добавлял новые. При том количество строк не различается в разы, заметьте это. |
Неверные выводы. Ну кроме первого. Да, мне приходится править существующий код. А почему это плохо? Чем это хуже постоянного нагромождения классов друг на друга? Для чего постоянно усложнять приложение, добавляя все новых и новых наследников? Из боязни испортить то, что написано ранее в ущерб оптимальности и прозрачности. Лично я вижу большой плюс в том, что могу править действия без оглядки на кем-то расставленные запреты.
И еще раз, давайте рассмотрим вариант с хлопаньем глазок. Вы не полезете исправлять существующие классы? Любопытно взглянуть.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.