23.12.2011, 14:06
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от FINoM
|
Примеры я уже приводил, вот хотя-бы этот:
|
Сообщение от FINoM
|
Рассмотрим пример (который взят из головы и в нем возможны ошибки) гипотетического парсера сайта
|
думаю, комментарии излишни
Сообщение от FINoM
|
Это дело твоё, хочешь, напиши функции setState, getState, я ведь тебе не указ, как и ты мне.
|
использование одной функции вместо двух для геттеров/сеттеров - довольно распространенная практика
Сообщение от FINoM
|
Да, ты прав, я люблю, когда всё просто. Самые популярные вещи — просты в использовании, посмотри на ту же "быдло-библиотеку" jQuery.
|
ты хочешь славы и популярности? Миллионы леммингов не могут ошибаться? И почему ты ее ставишь в пример, если сам называешь быдло-библиотекой? jquery - это хорошо, для каких-то задач. Но для чего-то более сложного начинает не хватать объектов, и не только.
Сообщение от FINoM
|
А если усложнить, то, вполне возможно, придется переделывать.
|
нет, это ты слишком упрощаешь. Есть цепочка, это объект, а не функция. Я всего лишь предлагаю называть вещи своими именами. Если бы я хотел усложнить, я бы говорил о паттернах проектирования.
Сообщение от FINoM
|
А если усложнить, то, вполне возможно, придется переделывать. Ты сам пишешь: "Хорошие библиотеки возникают из решения практических задач". что бы это не значило, нужно отталкиваться от практических задач.
|
это значит следующее: "Напиши несколько парсеров сайтов, о которых ты говоришь, а потом подумай, как лучше решить эту проблему".
|
|
23.12.2011, 14:26
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от x-yuri
|
думаю, комментарии излишни
|
Думаю да. И зачем ты жирным выделил, хотел что-то доказать? Типа ситуации такой не бывает или что?
Сообщение от x-yuri
|
использование одной функции вместо двух для геттеров/сеттеров - довольно распространенная практика
|
Не важно. Повторюсь, создаешь объект this.object и он будет действителен во всей цепи. Если это решение не нравится, форкни скрипт на jsfiddle и сделай по-своему, я никого не ограничиваю в этом.
Сообщение от x-yuri
|
ты хочешь славы и популярности?
|
Я хочу сделать удобный инструмент, которым будет удобно пользоваться, в первую очередь мне. Не ищи здесь сакрального смысла.
Сообщение от x-yuri
|
И почему ты ее ставишь в пример, если сам называешь быдло-библиотекой?
|
Пытаюсь найти с тобой общий язык. Ты любишь сложности, которыми jQuery похвастаться не может.
Сообщение от x-yuri
|
нет, это ты слишком упрощаешь.
|
Я не понимаю, какую задачу ты хочешь решить, вот и всё.
this.state('var', 5); // Программист: Состояние? Что за нахер? А если я хочу userState? Или varStack?
По крайней мере я бы задал эти вопросы и предпочел бы модифицировать this по-человечески, а не "тру".
Сообщение от x-yuri
|
"Напиши несколько парсеров сайтов, о которых ты говоришь, а потом подумай, как лучше решить эту проблему".
|
Я уже писал парсер сайта, причем, после парсинга, нужно было создать сервер, и вывести результаты на экран. Я знаю, о чем говорю.
|
|
23.12.2011, 14:26
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
...
Сообщение от FINoM
|
Это дело твоё, хочешь, напиши функции setState, getState, я ведь тебе не указ, как и ты мне.
|
конечно не указ, я просто объясняю свою точку зрения
|
|
23.12.2011, 14:40
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от FINoM
|
Думаю да. И зачем ты жирным выделил, хотел что-то доказать? Типа ситуации такой не бывает или что?
|
я хотел показать, что ты придумал эту ситуацию
Сообщение от x-yuri
|
ты хочешь славы и популярности?
|
Сообщение от FINoM
|
Я хочу сделать удобный инструмент, которым будет удобно пользоваться, в первую очередь мне. Не ищи здесь сакрального смысла.
|
это была одна из возможных причин, почему ты привел jquery в пример
Сообщение от FINoM
|
Ты любишь сложности, которыми jQuery похвастаться не может.
|
ага, потому что она может похвастаться гораздо большими сложностями внутри. Ты когда-нибудь сталкивался с багами в jQuery? Пытался найти какая строчка их вызывает?
Сообщение от FINoM
|
this.state('var', 5); // Программист: Состояние? Что за нахер? А если я хочу userState? Или varStack?
|
ты всегда так придираешься к названиям API-методов? Соглашение про один метод используется даже в jquery
Сообщение от FINoM
|
По крайней мере я бы задал эти вопросы и предпочел бы модифицировать this по-человечески, а не "тру".
|
я ни разу не сказал, что мой путь - тру-путь. Я просто сравниваю свой вариант с твоим.
Сообщение от FINoM
|
Я уже писал парсер сайта, причем, после парсинга, нужно было создать сервер, и вывести результаты на экран. Я знаю, о чем говорю.
|
напиши еще два, говорят, хорошее решение приходит на третий раз (шучу) Лучше выложи парсер, обсудим
Последний раз редактировалось x-yuri, 23.12.2011 в 14:42.
|
|
23.12.2011, 15:01
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от x-yuri
|
я хотел показать, что ты придумал эту ситуацию
|
Ситуация с асинхронными вызовами не выдуманная и является самой известной проблемой при использовании ноды. "Псевдокод" который я привел, более чем понятен, на мой взгляд. Если всё-таки что-то не понятно, спрашивай, я объясню.
Сообщение от x-yuri
|
это была одна из возможных причин, почему ты привел jquery в пример
|
Хочу славы и популярности за 20 строк кода. Чего бы нет? А еще денег и баб.
Сообщение от x-yuri
|
Пытался найти какая строчка их вызывает?
|
Да. Просто скачивал неминимизированную версию и искал проблему.
Сообщение от x-yuri
|
Соглашение про один метод используется даже в jquery
|
Ты имеешь в виду .data()?
Сообщение от x-yuri
|
Лучше выложи парсер, обсудим
|
Это личное
|
|
23.12.2011, 15:12
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от FINoM
|
Ситуация с асинхронными вызовами не выдуманная и является самой известной проблемой при использовании ноды. "Псевдокод" который я привел, более чем понятен, на мой взгляд. Если всё-таки что-то не понятно, спрашивай, я объясню.
|
я хотел показать, что ты придумал не проблему, а задачу, которая ее демонстрирует. Правда потом выяснилось, что все же она не выдуманная, как можно было бы подумать из твоих слов: "Рассмотрим пример (который взят из головы и в нем возможны ошибки) гипотетического парсера сайта "
Сообщение от FINoM
|
Да. Просто скачивал неминимизированную версию и искал проблему.
|
ну если тебе все устраивает, тогда будем ждать пока тебе надоест
Сообщение от FINoM
|
Ты имеешь в виду .data()?
|
attr, html, prop, text, val, width, height
|
|
23.12.2011, 15:22
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от x-yuri
|
тогда будем ждать пока тебе надоест
|
Надоест, не надоест, более половины заказов по Javascript требуют использование jQuery. Так что выбор таков: потерять кучу денег из-за проблем, случающихся 1 раз на несколько тысяч строк кода, либо не выёбываться и работать.
Забыл главное: jQuery используется на > 50% сайтов во всём мире.
Чисто из любопытства: какие есть альтернативы? Мутулз — те же яйца, прототайп — вырвиглазное говнище...
Сообщение от x-yuri
|
attr, html, prop, text, val, width, height
|
Эти функции семантичны. Из их названия сразу понятно, что они делают. А тут ситуация такая: хранить переменные, которые могут быть чем угодно (шириной, показателем мягкости, сочинением "как я провел лето").
|
|
23.12.2011, 15:30
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Ой, а я только сейчас заметил, что у меня получился вариант ну почти один в один как:
Сообщение от x-yuri
|
альтернативный вариант
|
Нужно попить колы для улучшения внимания.
А лично моё мнение что FINoM усложняет реализацию. Я взялся за написание решение после того как попытался разложить твой FINoM скрипт и чуть голову не сломал.
Реализация мне нужна сейчас, я делаю сложную анимацию и такой объект очень пригодится.
Проброс переменных через аргументы функции для передачи состояния - в моём понимании это плохо тем, что переменные как бы летят через цепь, да ещё и меняют тип, говнокодом попахивает - фиг поймешь что в данную секунду записано и где это искать.
Одна цепь - один объект, все переменные в одном месте - искать не нужно, даже отладка проще.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
23.12.2011, 16:10
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от FINoM
|
Надоест, не надоест, более половины заказов по Javascript требуют использование jQuery. Так что выбор таков: потерять кучу денег из-за проблем, случающихся 1 раз на несколько тысяч строк кода, либо не выёбываться и работать.
|
выбор таков: 1) подстраиваться под "более половины заказов по Javascript требуют использование jQuery", 2) действовать по правилу правой руки, 3) выбирать инструменты исходя из задачи. Твои слова похожи на оправдание "Почему я использую jquery".
Анекдот такой есть. Первую неделю после получки стипендии у студента в столовой действует правило правой руки: закрываются цены - выбираются блюда. Вторую неделю дествует правило левой руки: закрываются блюда - выбираются цены. Далее действует правило буравчика: покрутился-повертелся и ушел.
ты не думаешь, что знание javascript, которое не просто знание jquery, лучше оплачивается? Да и вообще условия лучше.
Сообщение от FINoM
|
Мутулз — те же яйца
|
ни разу, почитай статью, которую я привел. И код сравни. Есть еще rightjs, но это наверное совсем андерграунд. Зато похоже на продолжение jquery + mootools.
Сообщение от FINoM
|
Эти функции семантичны. Из их названия сразу понятно, что они делают. А тут ситуация такая: хранить переменные, которые могут быть чем угодно (шириной, показателем мягкости, сочинением "как я провел лето").
|
потому что они работают с более конкретными вещами. Следуя такой логике надо начать возмущаться названию оператора var.
Сообщение от Gozar
|
Ой, а я только сейчас заметил, что у меня получился вариант ну почти один в один как:
|
great minds think alike
|
|
23.12.2011, 17:29
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от x-yuri
|
ты не думаешь, что знание javascript, которое не просто знание jquery, лучше оплачивается?
|
В основном приходится работать с DOM и Ajax. Я понимаю, что это тема для холивара, но jQuery мне кажется очень и очень удобным. Кроме того, не редкость, когда получаю задачи по сайту, где уже используется jQuery. Другое дело, если ты работаешь фул тайм в чужой конторе, тогда возможности выбора инструментария более широки.
(казалось бы, фрилансер более поворотлив, но нет)
Сообщение от x-yuri
|
ни разу
|
Да, возможно, я ошибаюсь. Но мутулз сейчас используется редко, как и прототайп.
Сообщение от x-yuri
|
потому что они работают с более конкретными вещами.
|
Может ты и прав. Сделаю ни тебе ни мне:
Init.prototype.data = function(item,value) {
if(value === undefined) {return this.data[item]}
else {this.data[item] = value}
}
Примерно так. Хочешь, используешь функции, хочешь, просто пишешь this.data.x = 2;
Цитата:
|
А лично моё мнение что FINoM усложняет реализацию.
|
Я пытался вынести почти всё в прототипы для лучшей читабельности, но получилась фигня. Попробую еще.
|
|
|
|