Голосуем за приватные свойства в кофескрипте
|
бля этот мудак говорит что оно не приватное раз есть доступ из вне инстанса. бляяяяя. создатель кофескрипта еще и идиот оказывается?? это многое обьясняет)))))
я ему обьяснил все на пальцах: you absolutely do not understand programming, you should be ashamed. Private does not mean that we are protecting the property from hackers. Private means encapsulation inside a class. which in this case is provided namespace. man, will learn at least the basics of programming. open this issue, and Go and teach programming! |
о божееее, теперь вам понятно почему этот мудак не добавляет ES6 поддержку???? ДА ПОТОМУ ЧТО ОН ПРОСТО ТУПОЙ!! черт я щас форкну кофескрипт нахрен! он выбесит меня
|
Цитата:
|
бля какие они мудакии они не могут обьяснить почему моя хуйня не работает но отказываются её делать, блять реально пора бы взять в свои руки и написать не coffee++ а нормальный coffee harmony
отказываются делать генераторы, отказываются делать итераторы, отказываются делать поддержку es7 ну не мудаки ли? |
ребят ну поддержите меня? может я не прав????
|
|
Цитата:
|
Erolast, тогда опровергни мои аргументы. Ведь все что я сказал на 100% верно. Быть может у меня просто более глубокий уровень понимания программирования чем ваш по этому вы не в состоянии осознать моих мыслей? Давай проверим. Опровергни мои аргументы. (ты не сможешь, но давай дадим шанс)
|
Цитата:
Собственно, ты сам об этом и говоришь: Цитата:
|
Erolast, пожалуйста, приведи какой нибудь аргумент ад рем
http://ru.wikipedia.org/wiki/Ad_hominem Приватное свойство не будет доступно из вне инстанса так как у свойств будет использоваться префикс, который человек обязан будет не использовать из вне. этот префкс либо пробел либо _, таким образом достигается инкапсуляция внутренних свойств внутри класса. второе: свойство не будет доступно классам наследникам так как будет использоваться уникальный для класса префикс в стиле Math.random(), таким образом будут 2 префикса, один для защиты от доступа из вне обьекта _ второй для защиты доступа из дочерних классов пример такого свойства this['_EventEmitter_5344355_events'] = [] первый префикс _ второй префикс "EventEmitter_5344355_" таким образом достигается инкапсуляция. что до протектед свойств для них достаточно просто префикс защищающий от доступа извне инстанса добавлять, то есть просто _ суть: по скольку все эти свойства физически часть this то не будет ни утечек памяти, от них легко будет наследоваться и оверрайдить, будет сохраняться контекст и.т.п. так же для пущей красоты можно устанавливать эти свойства энумерабле false чтобы они еще и не итерировались извне какие у тебя контраргументы? я внетерпении. правда вообще есть еще способ с WeekMap, но его не везде эмулируешь и мы не получаем вообще ни какого плюса. так как в кофескрипте и так использовались служебные переменные а тут просто будут использоваться служебные свойства, и я не вижу ни единого минуса этого испоьлзования. кто нить знает хотя бы ОДНО слабое место моей идеи? ХОТЯ БЫ ОДИН недостаток? |
Цитата:
Во-первых, ты не прав в том, что тебе ответил создатель кофескрипта. Создатель - Jeremy Ashkenas, vendethiel - просто контрибьютор с парой десятков коммитов Во-вторых, ты не прав в том, что считаешь, что они вообще тебе чем-то обязаны. Не хотят вводить приватные свойства твоей реализации, не хотят вводить приватные свойства вообще - их право, что-то не нравится - пили форк, гитхаб для того и предназначен. Наезжать на них за это - верх кретинизма (как будто тебя кто-то послушает, лол) и неблагодарности. Цитата:
Цитата:
Только два момента: 1) на гитхабе ты про рандомную прибавку к имени свойства ничего не говорил; 2) зачем вообще трахаться со всеми этими префиксами/суффиксами, когда можно просто заюзать символы из ES6? Заодно гарантировано исключается возможность коллизии. class EventEmitter eventListeners = Symbol() constructor: -> @[eventListeners] = [] getEventListeners: -> @[eventListeners] eventEmitter = new EventEmitter() console.log eventEmitter; #empty object console.log eventEmitter.getEventListeners(); #array |
Цитата:
2) зачем вообще трахаться со всеми этими префиксами/суффиксами, когда можно просто заюзать символы из ES6? Заодно гарантировано исключается возможность коллизии. я думал и про символы и про викмап, но они же типа кококо за старые браузеры, в старых нет викмапа и символов, но что если полифил на символы? вообще то нет. да, в случае когда у нас внутри методов всегда четко известны имена приватных свойств мы можем зарание для них символы создать, но что длать когда свойства добавляются динамически? for i in [1,2,3] private[i+'trololo'] = 11 как тогда обратиться к private.i2 ?? где хранить его символ и когда его создавать? и как узнать какую строку вернет выражение в аксессоре [] ? Цитата:
Цитата:
|
|
ну посмотрите, этот мудак опять ничего не смог противопоставить и признал что мои аргументы верны но просто закрыл тикет https://github.com/jashkenas/coffeescript/issues/4195
следовательно я перехватываю управление кофескриптом в свои руки раз им рулят такие неадекватные мудаки. ну а хули делать) опенсорс. |
Когда кофескрипт пилят мудаки
|
|
Mаxmaxmаximus, google translate тебя затралировал. =)
|
:lol: :lol: :lol:
|
Цитата:
|
Ахахаха, это пиздец)
|
Часовой пояс GMT +3, время: 07:31. |