Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 28.01.2011, 10:30
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от sysif
Известный факт, что в js часто взаимодействие между разными объектами оборачивается головной болью.
Сообщение от x-yuri
и очень интересует всем кроме меня известный факт про головные боли от взаимодействия объектов?
Мне тоже неизвестен этот факт.
Ответить с цитированием
  #32 (permalink)  
Старый 28.01.2011, 11:38
Интересующийся
Отправить личное сообщение для sysif Посмотреть профиль Найти все сообщения от sysif
 
Регистрация: 09.12.2010
Сообщений: 12

Сообщение от Kolyaj Посмотреть сообщение
Мне тоже неизвестен этот факт.
Ну, я про все ту же утипизацию и что из нее вытекает. Если у нас возникла ошибка выполнения, мы идем ее и правим - вылезает другая ошибка - правим...и т.п...а тут оказывается, что первый случай опять сломался. Такие вот замечательные итерации.

Это не головные боли?

Вот отсюда и возникают идеи ввести какие-то соглашения при взаимодейстии объектов

Последний раз редактировалось sysif, 28.01.2011 в 11:41.
Ответить с цитированием
  #33 (permalink)  
Старый 28.01.2011, 11:44
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Я уже писал
Сообщение от Kolyaj
Я уже лет 7 пишу на динамических языках, не помню ни одной ошибки, возникшей из-за несоответствия типов. Они были, это однозначно, но я их не помню, потому что это скорее опечатки, они не стоят внимания.
Ответить с цитированием
  #34 (permalink)  
Старый 28.01.2011, 11:45
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от sysif
а тут оказывается, что первый случай опять сломался
Может не в тему, но у меня есть подозрение, что код сам ломается если его долго не использовать.
Вот написал я скрипт, вроде работает.
Кинул в папку к остальным исходникам. Через месяц запускаю, а он не работает

Магия
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #35 (permalink)  
Старый 28.01.2011, 11:46
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от B~Vladi
Через месяц запускаешь, а он не работает
Протух.
Ответить с цитированием
  #36 (permalink)  
Старый 28.01.2011, 11:46
Аспирант
Отправить личное сообщение для kidar2 Посмотреть профиль Найти все сообщения от kidar2
 
Регистрация: 05.01.2010
Сообщений: 64

Приведу пример с интерфейсом IDisposable (как в C#), который имеет один метод Dispose.
Пусть у меня есть система, с большим кол-ом различных js классов. Во избежание утечек памяти у меня есть некий Manager для контроля всех ссылок на созданные объекты. Когда какой-то объект мне не нужен я вызываю у него метод Dispose, а будет ли он за собой чистить свои внутренние ресурсы, это уже его проблема. Т.е. здесь возникает такое соглашение: если Manager'у отдаётся на управление какой-то объект, то он должен реализовывать интерфейс IDisposable.

Но как уже приводились ссылки в начале обсуждения, нужно просто проверить есть ли такой метод/свойство в объекте и если нету, то как вариант кидать Exception.
Ответить с цитированием
  #37 (permalink)  
Старый 28.01.2011, 11:51
Интересующийся
Отправить личное сообщение для sysif Посмотреть профиль Найти все сообщения от sysif
 
Регистрация: 09.12.2010
Сообщений: 12

Сообщение от B~Vladi Посмотреть сообщение
Может не в тему, но у меня есть подозрение, что код сам ломается если его долго не использовать.
Вот написал я скрипт, вроде работает.
Кинул в папку к остальным исходникам. Через месяц запускаю, а он не работает

Магия
Ага, а вера в волшебство пропадает, когда понимаете, что вы там не один ковырялись, да?
Вы когда ручку на двери не заметите, за какое место хвататься будете, и если не знаете, в какую сторону дверь открывается?
Ответить с цитированием
  #38 (permalink)  
Старый 28.01.2011, 11:56
Интересующийся
Отправить личное сообщение для sysif Посмотреть профиль Найти все сообщения от sysif
 
Регистрация: 09.12.2010
Сообщений: 12

Сообщение от kidar2 Посмотреть сообщение

Но как уже приводились ссылки в начале обсуждения, нужно просто проверить есть ли такой метод/свойство в объекте и если нету, то как вариант кидать Exception.
Ну обычно в таких случаях делается что-то типа if(obj.method) obj.method();
Что так-то проблемы быстро локализовать ни разу не помогает
Ответить с цитированием
  #39 (permalink)  
Старый 28.01.2011, 12:02
Аспирант
Отправить личное сообщение для kidar2 Посмотреть профиль Найти все сообщения от kidar2
 
Регистрация: 05.01.2010
Сообщений: 64

Сообщение от sysif Посмотреть сообщение
Ну обычно в таких случаях делается что-то типа if(obj.method) obj.method();
Что так-то проблемы быстро локализовать ни разу не помогает
Я имел ввиду примерно такое
if (!obj.Dispose)
throw new Error("Метод или свойство не реализовано");

И делать эту проверку в момент когда, один объект отдаётся другому.
Тогда с локализацией проблем не будет.
Ответить с цитированием
  #40 (permalink)  
Старый 28.01.2011, 12:52
Интересующийся
Отправить личное сообщение для sysif Посмотреть профиль Найти все сообщения от sysif
 
Регистрация: 09.12.2010
Сообщений: 12

Сообщение от kidar2 Посмотреть сообщение
Я имел ввиду примерно такое
if (!obj.Dispose)
throw new Error("Метод или свойство не реализовано");

И делать эту проверку в момент когда, один объект отдаётся другому.
Тогда с локализацией проблем не будет.
Ну да, и так последовательно, для каждой функции?

Последний раз редактировалось sysif, 28.01.2011 в 12:55.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Книга] Stoyan Stefanov, Javascript Patterns Dmitry A. Soshnikov Учебные материалы 20 13.08.2013 11:37
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
JavaScript разработчик (Яндекс, Москва) antonova Работа 2 08.07.2010 19:44
JavaScript на Яндекс.Фотки - почему тормозит браузеры? ZavFirefox Javascript под браузер 23 27.09.2009 19:24