Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: дискуссии по теме [5]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (5): « 1 2 3 4 [5]   

> Без описания
Stierus Супермодератор
Отправлено: 31 Октября, 2011 - 09:34:18
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Самогонщик, о пределах одной функции речи не идет. Весь разговор начался с спора о том, может ли функция в разных случаях возвращать разные результаты. Ф-я, которая должна вернуть объект, в случае неудачи, возвращает сообщение об ошибке или false, а в каких-то еще случаях еще бог знает что. Я Людлей уверяю, что строгая типизация, четкий api и в случае ошибок exception - это единственный нормальный алгоритм работы между библиотеками и функциями, caballero вот уже 4-ю страницу пытается убедить в обратном. Я устал с ним спорить, но как-то джалко новичков, наслушавшихся говно-советов и программирующих как непойми кто.
 
My status
 Top
DlTA
Отправлено: 31 Октября, 2011 - 09:46:46
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




в какой то теме на вопрос "как запомнить функционал" мне ответили "хорошая IDE"

а в случае с исключениями, где должны быть созданы все классы исключений
если учесть что из принцыпа "я не знаю как будет испльзоваться мой класс/метод"
то вполне возможной будет ситуация проверки на класс исключений который еще небыл объявлен.
 
 Top
DeepVarvar Супермодератор
Отправлено: 31 Октября, 2011 - 09:49:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Stierus, хорошо, я со своими 9-ю классами чего-то там "петрю".
Ответьте на вопрос:
Почему профессионалы окончившие высшие учебные заведения в 98% случаев пишут без try catch throw???
 
 Top
Stierus Супермодератор
Отправлено: 31 Октября, 2011 - 09:53:26
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




DeepVarvar, кто вам такое сказал ?Улыбка
(Добавление)
Я сижу в отделе, со мной рядом 20 программистов - мы используем исключениея, новые библотеки для php (хоть тот же PDO) бросают исключения, фреймворки все крупные (symfony, Yuii, Zend) - в них тоже везде используются исключения ... на гитхабе крупные проекты посмотрите. Но вам кто-то говорит, что их никто не использует, лажа это все ...
 
My status
 Top
DeepVarvar Супермодератор
Отправлено: 31 Октября, 2011 - 09:56:57
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Никто не сказал. Давайте создадим отдельный топик в котором все отпишут кто что закончил.
 
 Top
Самогонщик
Отправлено: 31 Октября, 2011 - 10:02:04
Post Id



Посетитель


Покинул форум
Сообщений всего: 495
Дата рег-ции: Окт. 2011  


Помог: 8 раз(а)




Stierus пишет:
exception - это единственный нормальный алгоритм работы между библиотеками и функциями
Подтверждаю.

DeepVarvar пишет:
Почему профессионалы окончившие высшие учебные заведения в 98% случаев пишут без try catch throw
А я бы разделял библиотечный код и самописный, а то рамки дискуссии слишком широкие.

Вот такой вам пример, я вызываю метод, который уж точно завалиться не должен, т.к. я подал ему правильные данные и следовательно не обрабатываю не фальш не исключение. Вопрос: вы бы желали чтобы метод возвращал коды ошибок (фальш) или исключение?
 
 Top
DeepVarvar Супермодератор
Отправлено: 31 Октября, 2011 - 10:11:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Желал бы.
(Добавление)
Но опять не понятно - одни говорят да, другие - нет.
 
 Top
EuGen Администратор
Отправлено: 31 Октября, 2011 - 10:19:40
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Думалось - закрыть или нет тему. Но попросили не закрывать ввиду интереса. Одна просьба - воздерживаемся от сообщений не по теме


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Самогонщик
Отправлено: 31 Октября, 2011 - 10:21:27
Post Id



Посетитель


Покинул форум
Сообщений всего: 495
Дата рег-ции: Окт. 2011  


Помог: 8 раз(а)




DeepVarvar пишет:
Желал бы.
Хм, на вопрос с "или" нельзя отвечать "да" или "нет", нужно выбрать один из вариантов, или, на крайний случай, предложить свой.
 
 Top
DeepVarvar Супермодератор
Отправлено: 01 Ноября, 2011 - 05:40:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Самогонщик пишет:
"да" или "нет"
Желал бы чтобы возвращались либо результат, либо null (иногда, где нужно false).
А в лучшем случае, метод, передавая результат далее не завершался бесповоротно ексепшном.
Даже сам интерпретатор выдает ошибки по цепной реакции, а не только первый "спотык".

Кстати, я в споре не участвовал. Мне так же интересно как и для DITA - что же всетаки правильнее.
Максимум, что я делал, это поддакивал то одной стороне, то другой.
Кроме того написал пример кода без эксепшнов, то что хотел видеть Stierus.
Ну и???
Stierus пишет:
но как-то джалко новичков, наслушавшихся говно-советов и программирующих как непойми кто

И это все???
Тогда пусть пишет оппонент, что я в самом деле? Так еще и на меня нападают.
Stierus пишет:
caballero

Вот caballero пусть и напишет свой пример без эксепшнов, либо подтвердит/изменит мой.
 
 Top
Stierus Супермодератор
Отправлено: 01 Ноября, 2011 - 09:59:41
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




DeepVarvar, мне нужно было, что бы в зависимости от ошибки - была разная реакция, что бы на ошибку бд отправлялось письмо, на запрос к несуществующему пользователю создавалась запись в лог, и лишь на неверные пользовательские данные, показывалась вьюшка с ошибкой ... в вашем коде я этого не вижу, поэтому и не комментирую (вы не выполнили то, что я просил).
 
My status
 Top
DlTA
Отправлено: 01 Ноября, 2011 - 10:06:28
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




DeepVarvar пишет:
Мне так же интересно как и для DITA - что же всетаки правильнее.

для меня на данный момент стоит вопрос не сколько в выборе правильного решения сколько в способах реализации

до дня создания темы я как наверное и большинство всю обработку вел внутри

напроч забыв об исключениях (как говорил наш препод "незнав та ще й забув")

показали, частично объяснили, но для меня вопрос все же еще не закрыт
со стороны вроде все удобно и просто
обработала->результат
глюк->исключение

но как управлять всей это махиной в рамках всего проекта
а именно: хотелось бы увидеть не код а скорее блочную схему работы проекта с исключениями, при работе с множеством классов;
насколько глубоко проваливаются по стеку, и какие, и где удобней ловить.
 
 Top
Stierus Супермодератор
Отправлено: 01 Ноября, 2011 - 10:16:56
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Исключения - они разные, это не 1 класс Exception, это несколько уровней унаследованных от него классов, сколько уровней, какие эксепшены, сколько их, как именовать, где хранить, как подгружать - это решается в зависимости от проекта, никто не даст универсальную схему. В крупных популярных cms уже заложены принципы работы с исключениями - скачайте хотя бы symfony и почитайте доки по ней, как разработчики рекомендуют делать.
 
My status
 Top
DeepVarvar Супермодератор
Отправлено: 01 Ноября, 2011 - 10:28:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Stierus пишет:
была разная реакция, что бы на ошибку бд отправлялось письмо, на запрос к несуществующему пользователю создавалась запись в лог, и лишь на неверные пользовательские данные, показывалась вьюшка с ошибкой

Так и есть, в коде пример разбора только одного типа ошибки.
На деле написано несколько видов обработчиков и в зависимости от ошибки вызывается тот или иной обработчик, без эксепшнов, а таким вот методом, как в примере.
 
 Top
Страниц (5): « 1 2 3 4 [5]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Прочее »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB