Показать сообщение отдельно
  #6 (permalink)  
Старый 13.04.2014, 18:06
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Я делаю проверки на верхнем уровне. На нижнем уровне от ошибок опечаток защищает JSDOC. На нижнем уровне таких элементарных ошибок, вроде некорректного типа, вообще не должно быть - их надо решать раньше.

;(function (__NAMESPACE__) {

	/**
	*  floor - функция нижнего уровня. используется внутри
	*  @param {number} x
	*/
	function floor (x) {
		return x | 0;
	}

	/**
	* Функция верхнего уровня. Экспортируется\используется извне
	*/
	function format (x) {

		var numeric = isFinite(x) ? x : parseInt(x);

		if (!isFinite(numeric)) {
			throw "x must be numeric"
		}
		
		numeric = floor(numeric)

		// остальная логика. в number_format уже нет проверки аргумента на корректность, как и во floor
		return number_format(numeric);
	}

	// экспорт.
	__NAMESPACE__.format = format;

})(window.APP);


верхние и нижние уровни - это уровни внешний\внутренний, что-то типа того

Сообщение от Sweet
Мне не нравится, например, что jQuery, когда ничего не находит, возвращает пустую коллекцию.
плюсую. это суть JS - стандартная библиотека редко кидает исключения.. легче ведь просто null вернуть и всё в шоколаде В вот в Yii за любую оплошность - по рукам. Ну хз, кому как удобнее. Легче с исключениями, конечно

Последний раз редактировалось melky, 13.04.2014 в 18:11.
Ответить с цитированием