Get-only automatic property (ревизия 9416)
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.12.10 23:06
Оценка: +1
Всем привет. В ревизии 9416 была добавлена фича "get-only automatic property".

На мой взгляд — это совершенно не нужная, интуитивно не понятная и засоряющая язык фича. Если нужно использовать поля, то нужно использовать макрос Accessor или явное объявление свойства (возможно с использованием локальной для свойства переменной).

Собственно фича, как я понимаю, была добавлена ради примера использования отраженного в тесте fieldof.n.

Просьба выражать вое мнение.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Get-only automatic property (ревизия 9416)
От: Visor2004  
Дата: 10.12.10 09:41
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Всем привет. В ревизии 9416 была добавлена фича "get-only automatic property".


VD>На мой взгляд — это совершенно не нужная, интуитивно не понятная и засоряющая язык фича. Если нужно использовать поля, то нужно использовать макрос Accessor или явное объявление свойства (возможно с использованием локальной для свойства переменной).


Имхо это уже не в ту степь, вы так релиз еще годами не сделаете. Всегда будет 10к каких-то фич, которые нужны одному-двум конкретным программерам.
По делу: как значение свойству проставлять? в конструкторе? Так чем это лучше:
string Name { get; private set; }


Лично мне кажется, что уже пора завязывать реализовывать фичи особенно таких спорных и бросил бы силы на интеграцию, фикс багов/стабилизцию, приведение в порядок исходников в svn ( сейчас если затащить исходники, то вместе с компилятором вытягивается куча какого-то непонятного барахла, может это семплы какие-то, но тогда их тоже надо как-то структурировать, чтоб было понятно что к чему ).
Помните!!! ваш говнокод кому-то предстоит разгребать.
Re[2]: Get-only automatic property (ревизия 9416)
От: Visor2004  
Дата: 10.12.10 09:44
Оценка:
Здравствуйте, Visor2004, Вы писали:

V>куча какого-то непонятного барахла


Извините за резковатый тон, может быть это классные и даже гениальные вещи, но пока они находятся а) в полукомпилябельном состоянии б) не структурированы; полезности с них не много. Я если честно даже сходу не понял для чего нужен тот или иной проект, потому что некоторые так и не смог скомпилировать и запустить.
Помните!!! ваш говнокод кому-то предстоит разгребать.
Re[2]: Get-only automatic property (ревизия 9416)
От: Маслаков Михаил Эстония www.ammyui.com
Дата: 10.12.10 10:53
Оценка:
Абсолютно согласен. Nemerle уже сейчас достаточно интересный язык. Его малая распростаннёность никак не связана с недостатком фич. Причина в том, что нет удобной интеграции, нет нормальных примеров, много багов и т.д.

Было бы хорошо, чтобы любой .Net программер мог начать писать на Nemerle в течение 15-20 минут, не думая о "что бы эта ошибка могла означать". Для этого как минимум надо допилить интеграцию(для 2010 обязательно) и шаблоны проектов.

Немного сумбурно получилось, но думаю идея понятна. Хотелось бы в какой то момент взять Nemerle в следующий проект не опасаясь каких-то малоизученных глюков со студией и тд.

VD>>На мой взгляд — это совершенно не нужная, интуитивно не понятная и засоряющая язык фича. Если нужно использовать поля, то нужно использовать макрос Accessor или явное объявление свойства (возможно с использованием локальной для свойства переменной).
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Re[3]: Get-only automatic property (ревизия 9416)
От: Visor2004  
Дата: 10.12.10 13:08
Оценка:
Здравствуйте, Маслаков Михаил, Вы писали:

Да бог с ней с 2010, 2008 до ума довести и будет отлично уже.
Помните!!! ваш говнокод кому-то предстоит разгребать.
Re: Get-only automatic property (ревизия 9416)
От: catbert  
Дата: 10.12.10 15:02
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Просьба выражать вое мнение.


Дык ведь это, выражали уже:
http://www.rsdn.ru/forum/nemerle/4040231.aspx
Автор: _nn_
Дата: 16.11.10


Макрос fieldof (который возвращает поле из-под автосвойства) вполне может быть полезен. Сама идея get-only автосвойств по крайней мере интересна. Я, правда, тоже удивился, что именно сейчас ее nn-у захотелось реализовать, ведь мы вроде фичи перед релизом не добавляем.

Ну, а урок такой: когда много людей имеют commit-привелигии, нужен какой-то формальный процесс внесения изменений, штоле.
Ведь так и бекдор может появиться в ревизии 9417...
Re[2]: Get-only automatic property (ревизия 9416)
От: Visor2004  
Дата: 10.12.10 15:12
Оценка:
Здравствуйте, catbert, Вы писали:

C>Ну, а урок такой: когда много людей имеют commit-привелигии, нужен какой-то формальный процесс внесения изменений, штоле.

C>Ведь так и бекдор может появиться в ревизии 9417...

Я считаю, что в таких больших проектах коммиты должны делаться в отдельный репозиторий, который должен будет мерджится с основным раз в неделю, например, в 1-2 ответственных за это лица. Иначе каким бы процесс не был, как минимум, будет бардак в публичном репозитории, как максимум — бесконечная фаза стабилизации и предрелизных бет.
Помните!!! ваш говнокод кому-то предстоит разгребать.
Re[2]: Get-only automatic property (ревизия 9416)
От: VladD2 Российская Империя www.nemerle.org
Дата: 10.12.10 15:56
Оценка:
Здравствуйте, catbert, Вы писали:

C>Здравствуйте, VladD2, Вы писали:


VD>>Просьба выражать вое мнение.


C>Дык ведь это, выражали уже:

C>http://www.rsdn.ru/forum/nemerle/4040231.aspx
Автор: _nn_
Дата: 16.11.10


Где там обсуждение то? Почти все забили на это предложение. А раз забили, значит не поддержали.

Я уже сто раз говорил, что добавление фич в компилятор закрыто до релиза. Но почему-то это игнорируется.

C>Макрос fieldof (который возвращает поле из-под автосвойства) вполне может быть полезен.


Я не вижу ничего полезного в этом. Это средство нарушения абстракции. Да и выглядит страшновато.

Кроме того имя fieldof очень странное. Оно похоже на typeof и глядя на него можно подумать, что это макра или оператор возвращающий описание поля.

C>Сама идея get-only автосвойств по крайней мере интересна.


Я вижу странную химию fieldof. Если уж был делать подобную реализацию, то нужно было бы добавлять некий модификатор доступа constoructor only и помечать им set-эксесор.

Но зачем это все нужно когда есть Asccessor?

В общем, есть хорошее правило. Раз нет хорошего решения, то не надо ничего делать. Особенно если есть другие решения.

C>Я, правда, тоже удивился, что именно сейчас ее nn-у захотелось реализовать, ведь мы вроде фичи перед релизом не добавляем.


+1

C>Ну, а урок такой: когда много людей имеют commit-привелигии, нужен какой-то формальный процесс внесения изменений, штоле.


Особо формализовать наверно не надо. А то можно до С++-ного комитета до формализоваться. Но как-то согласовывать нужно.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Get-only automatic property (ревизия 9416)
От: Маслаков Михаил Эстония www.ammyui.com
Дата: 11.12.10 18:32
Оценка:
Ну мне, например, не хочется только из-за немерле держать у себя на машине две версии студии. Мало того, мне ещё придётся её где-то качать и потом устанавливать.

Здравствуйте, Visor2004, Вы писали:

V>Здравствуйте, Маслаков Михаил, Вы писали:


V>Да бог с ней с 2010, 2008 до ума довести и будет отлично уже.
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Re[3]: Get-only automatic property (ревизия 9416)
От: hardcase Пират http://nemerle.org
Дата: 11.12.10 18:50
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Но зачем это все нужно когда есть Asccessor?


1) Accessor слишком длинный — я бы коротко и ёмко назвал его Get, а если нужен сэттер, — то GetSet
2) Неудобно модификаторы вешать, там дурацкий синтаксис.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[5]: Get-only automatic property (ревизия 9416)
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.12.10 19:18
Оценка:
Здравствуйте, Маслаков Михаил, Вы писали:

ММ>Ну мне, например, не хочется только из-за немерле держать у себя на машине две версии студии. Мало того, мне ещё придётся её где-то качать и потом устанавливать.


Поставь себе изолэйтед-мод. Цена вопроса ~200 метров.

Поддержка 2010 будет только после выпуска интеграции для 2008-ой. На параллельную разработку сил у нас не хватит.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Get-only automatic property (ревизия 9416)
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.12.10 19:42
Оценка:
Здравствуйте, hardcase, Вы писали:

H>1) Accessor слишком длинный — я бы коротко и ёмко назвал его Get, а если нужен сэттер, — то GetSet

H>2) Неудобно модификаторы вешать, там дурацкий синтаксис.

По сравнению с использованием магии fieldof — твои замечания просто мелочи.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Get-only automatic property (ревизия 9416)
От: _nn_ www.nemerleweb.com
Дата: 29.12.10 11:33
Оценка: 110 (3)
Здравствуйте, VladD2, Вы писали:

VD>Всем привет.

Привет

Допилил get-only автосвойства до релизного уровня.
Никакого fieldof не нужно.
Работает с макросом Record.
Данная фича не ломает существующий код.

Сам тест
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[3]: Get-only automatic property (ревизия 9416)
От: BogdanMart Украина  
Дата: 05.01.11 21:57
Оценка:
Здравствуйте, Visor2004, Вы писали:

V>Извините за резковатый тон, может быть это классные и даже гениальные вещи, но пока они находятся а) в полукомпилябельном состоянии б) не структурированы; полезности с них не много. Я если честно даже сходу не понял для чего нужен тот или иной проект, потому что некоторые так и не смог скомпилировать и запустить.


А я на них учился писат ьмакросы и розбирался с языком...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.