M-ka, в чем смысл твоих сообщений мне? Отстань. Автор просил убрать вложенность.
Вложенность я убрал. Ошибки сценария тут быть не может, это бред. return/throw в if'ах обычная практика простой валидации. Автор не указал, что их нельзя использовать. Автора мой ответ устроил, в отличие от твоего. Не надо растекаться мыслью по древу.
M-ka, автор просил убрать вложенность. Я убрал.
Ты же в своем ответе, по сути, повторил тоже самое, что и автор. С той же вложенностью. В чем польза его?
Если у тебя таких проверок будет 50? 50-уровней if-else друг в друга? Посмотри как делают это во фреймах популярных - return something или exception ибо 99% дальше программа выполяться не сможет.
PS: А вообще, есть такой прекрасный паттерн NullObject.
M-ka, ты совсем что ли. Если socket.request.user не установлен, то выполнится console.error('error'); и, ВНИМАНИЕ НА ЭКРАН, return. После return скритп дальше выполяться не будет и НЕ будет проверки на id.
У меня нечто похожее было: когда устроился на работу, а там проект на php 5.3 + самописный фрейм от студента, говнокод и помойка. Но ничего нельзя менять, вообще не дышать на legacy код. Только писать новый функционал в том же ключе и исправлять баги. Хотя тут, конечно, гораздо хуже.
Ну под C++ я имел ввиду С/С++.
На самом деле, я хочу скопилировать ioquake на mac.
Плюс хочу скомпилировать php на mac, заодно посмотреть как там все устроено. В общем, в целях обучения.
Ну или добавь поле status у обработанной записи. Тогда можешь с помощью крона по чуть-чуть обрабатывать, устанавливая обработанным статус 1, и обрабатывая только те, у кого 0. Ну или менеджер очереди, как тут уже подсказали.