Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.07.2011, 00:12
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Именование конструкторов
Есть много пользовательских конструкторов или просто объектов: Range, Selection, Node, Element, Event и т.д. И вообще они не глобальные конечно же
(function (ns) {
    function $Range() {…}
    …
    ns.Range = $Range;
}(…));

Чтобы в коде не путать со стандартными/встроенными объектами, я обычно именовал их так: $Range, $Selection, $Node. Ну и соответственно экземпляры: $range, $node, $sel… но просто уже за%#@ло отвечать на идиотские вопросы про $ в JavaScript. Как бы вы именовали конструкторы?

Последний раз редактировалось Octane, 28.07.2011 в 00:28.
Ответить с цитированием
  #2 (permalink)  
Старый 28.07.2011, 01:15
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от Octane
$Range, $Selection, $Node.
А почему не выбрать альтернативные названия или использовать подчеркивание в конце/начале именования?
$ это уже как стандарт фе-факто, для обозначения ссылки на объекты типа jQuery.

По-моему вполне прилично смотрится:
function Range_() {

}

Последний раз редактировалось monolithed, 28.07.2011 в 01:21.
Ответить с цитированием
  #3 (permalink)  
Старый 28.07.2011, 01:34
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Подчеркивание в начале приватных свойств использую обычно. В коде может получится что-то вроде:
Range_._prevRange = …
Ответить с цитированием
  #4 (permalink)  
Старый 28.07.2011, 13:56
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

А что это за конструкторы? Они дублируют нативные?
Ответить с цитированием
  #5 (permalink)  
Старый 28.07.2011, 14:20
Аватар для vflash
Профессор
Отправить личное сообщение для vflash Посмотреть профиль Найти все сообщения от vflash
 
Регистрация: 09.07.2007
Сообщений: 304

my_range итд )))

а $ нелюблю потому как потом руки ломит от Shift+3
__________________
лучшая rss читалка zzreader.com
Ответить с цитированием
  #6 (permalink)  
Старый 28.07.2011, 18:18
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от vflash
my_range итд )))
В JavaScript для конструкторов принято использовать UpperCamelCase.

Сообщение от Kolyaj
А что это за конструкторы? Они дублируют нативные?
Ну не копируют, но имеют непосредственное отношение к ним, например:
$Range = {
	
	standardsCompliant: $Selection.standardsCompliant,
	
	TEXT_NODE: 3,
	
	stringify: function (range) {
		if (this.standardsCompliant) {
			return range.toString();
		}
		return range.text;
	},
	
	getRootContainer: function (range) {
		if (this.standardsCompliant) {
			var root = range.commonAncestorContainer;
			return root.nodeType == this.TEXT_NODE ? root.parentNode : root;
		}
		return range.parentElement();
	},
	
	isCollapsed: function (range) {
		return this.standardsCompliant ? range.collapsed : !range.htmlText.length;
	},
	
	clone: function (range) {
		return range[this.standardsCompliant ? "cloneRange" : "duplicate"]();
	},
	
	create: function () {
		return (this.standardsCompliant ? document : document.selection).createRange();
	}
};
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск