Показать сообщение отдельно
  #8 (permalink)  
Старый 14.05.2013, 13:58
Аспирант
Отправить личное сообщение для eugenk Посмотреть профиль Найти все сообщения от eugenk
 
Регистрация: 14.05.2013
Сообщений: 47

Сообщение от tropiko Посмотреть сообщение
eugenk, используйте JSDoc и получайте автокомплит. Не знаю, как во всех продуктах JetBrains, но в IntelliJ IDEA поддерживается по-умолчанию.
Прошу прощения, можно поподробнее, что это такое ??? Я новичок, просьба не пинать если чего-то не знаю

Еще раз прошу прощения, но доки это немного не то. Пример.
У меня есть массив panels, в котором я храню объекты типа Panel, в которых в свою очередь хранится описание физических свойств панелей моего менеджера базы данных. Например высота и ширина панели, число строк текста и т.п. Т.е. объект типа Panel является строго определенным. Он содержит четко определенные поля и ничего более. А глобальная переменная panels хранит только объекты типа Panel и ничего более. В программе я пишу:
var panel=panels[pan];
panel.width=200;
Никаие доки не помогут определить среде, что panel это объект типа Panel, который содержит поле width, но не содержит поля widht. Если бы тип Panel был известен, во-первых как только я написал бы panel. сразу появился бы автокомплит, который подсказал бы поле width. Во-вторых, если я все-таки напишу panel.widht, в нормальном языке компилятор бы выругался на несуществующее поле. В javascript panel.widht=200 будет понято как желание ввести в объект panel новое поле widht и присвоить ему значение 200. Поле width при этом разумеется не изменится и программа нормально запустится. После чего придется очень долго выяснять в отладчике, почему ширина панели не меняется. Я говорю исключительно об этих проблемах. Документирование на JSDoc тут не спасет.

Последний раз редактировалось eugenk, 14.05.2013 в 15:07. Причина: Добавил
Ответить с цитированием