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