[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Объясните в чем преимущества ООП?
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
Arh
Guest
Это вы про "Разработка через тестирование" ? Спасибо стараюсь читать, но пока сложно понять статьи в которых написано то, что ты в корне не понимаешь. Это как объяснять человеку как работает двигатель автомобиля, если человек не знает даже что такое автомобиль. Где б статью найти чтоб на пальцах объяснили саму идею =)

YVSIK
Я не понимаю к чему вы это) я знаю что такое классы
Цитата
Ранее мне гворили класс -ЭТО ОБЁРТКА ДЛЯ ФУНКЦИЙ

быть может я вам давным давно это и говорил на этом форуме =)

SoMeOnE
Ну опять теория, я где то слышал про эти тесты и вроде даже есть инструменты, которые каким то волшебным образом делают эти тесты автоматически, я еще понимаю всякие отладчики, которые показывают сколько функций запустилось, сколько памяти съело, сколько запросов в бд, тут сразу можно посмотреть и увидеть косяк что запросов быть не должно так как всё кешируется, ага значит не кешируется.

Но что за тесты? Функцию, которая получает данные, пишет в базу и если успешно записала возвращает true либо false, переделать так, что бы она не писала в базу а просто возвращала true если хотя бы до этого дошло? Или что?

Простите я как ребёнок, мне всё нужно на пальцах показать, я не решу задачу если не пойму зачем она поставлена, еще со школы пошло =)

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
chee
Arh можно я буду вас игнорировать? Ну слил я вам идеальную карму, будете меньше якобы "саркастичексие" сообщения писать.

SoMeOnE, откройте тему про тесты и пригласите Arh туда, просто тема "тестов" к данной теме не будет относиться.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Arh
chee
Цитата
можно я буду вас игнорировать?

желательно, а то у моей машины от ваших минусов колёса подспускают

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
SoMeOnE
Arh, В этой теме это дейсвительно пошел оффтоп. Со свой стороны тему создавать не буду) Так как недостаточно опытен, что бы учить)
Создайте тему, я и там отпишусь, многие опытные разработчии подкинут мысли.

Очень сложно в рамках формума показать преимущества тестов и тд. Я рассказал про свой сегодняшний опыт. Это не теория. Это рассказ продвинутого джуниора)))
Arh
SoMeOnE
Ок, может и правда стоить создать.

TDD

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Guest
YVSIK Противно читать Ваши тесксты.

Идите работать на завод лучше.Ваши знания = 0,не позортесь.
twin
Ой, сколько я проспал)))

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');

Считайте теперь.

И тут вот еще в чем кикоз: в свободе действий. Если это разовая лошадка, я запросто могу сделать и лошадку целиком, как у вас. Я не связан канонами. Никто не запрещает локально использовать любую парадигму, в отличие от. Если ООПэшник смешает где то объекты с действиями, его просто не поймут и начнут критиковать, как в этом примере. Мол ты чего подрываешь устои???

Цитата
Выводы(на данный момент): Ваш код более производительный, но при этом для изменения поведения нужно править существующий код, в моем же случае с производительностью беда, но классы я не правил, а добавлял новые. При том количество строк не различается в разы, заметьте это.
Неверные выводы. Ну кроме первого. Да, мне приходится править существующий код. А почему это плохо? Чем это хуже постоянного нагромождения классов друг на друга? Для чего постоянно усложнять приложение, добавляя все новых и новых наследников? Из боязни испортить то, что написано ранее в ущерб оптимальности и прозрачности. Лично я вижу большой плюс в том, что могу править действия без оглядки на кем-то расставленные запреты.

И еще раз, давайте рассмотрим вариант с хлопаньем глазок. Вы не полезете исправлять существующие классы? Любопытно взглянуть.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.