[CodeJam] Operators - minor fixes
От: Sinix  
Дата: 17.04.16 18:33
Оценка:
Подчистил код в Operators/OperatorsFactory — привёл свойства в соответствие с вариантом AndrewVK + переименовал методы, чего-то меня переклинило и я забыл, что в factory-классах методы наываются без префикса Get/Create (как пример — см на System.Linq.Expressions.Expression).

Попутно привёл в порядок шаблоны T4 для операторов / ассертов.

В большинстве случаев в заголовке tt-файла достаточно
<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ include file="$(SolutionDir)T4.Reusable\Autogenerated.ttinclude" #>
<#@ include file="..." #>
Строка 1 — этой строки не должно быть в ttinclude-файлах. Иначе рано или поздно упрёмся в конфликт между двумя include-шаблонами.
Строка 2 — заголовок с комментарием "не трогай, хуже будет". В идеале надо инклюдить в каждый tt-файл, если возражений не будет — сделаю.
Строка 3 — остальные инклюды.
остальное — по необходимости, те же юзинги, если не нужны, можно не добавлять.


Собственно к чему это я: эти мелочи кому-то интересны, или не замусоривать раздел такими темами?
Отредактировано 17.04.2016 18:37 Sinix . Предыдущая версия .
Re: [CodeJam] Operators - minor fixes
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 17.04.16 19:36
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Собственно к чему это я: эти мелочи кому-то интересны, или не замусоривать раздел такими темами?


Мне интересно. Если не лень — пиши.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[2]: [CodeJam] Operators - minor fixes
От: Sinix  
Дата: 17.04.16 20:06
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Мне интересно. Если не лень — пиши.


Не лень, скорее привычка. Этот уже наполовину написал, затем сообразил что не в рабочий проект пишу)))
Ну ок, значит буду.

Ещё вопрос: на неделе выкрою время и посмотрю код на предмет мест в API, которые вызывают вопросы. Ну, чтоб не править после релиза

Собственно вопрос: как это дело удобней оформить? Просто списком сюда, код не править или сделать ветку, там поправить и оформить пуллреквестом?

99% за то, что спорных место будет мало. Например, в основном namespace сходу заметил только одно, AnonymousDisposable.Dispose() должен выглядеть как-то так:
            /// <summary>
            /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            /// </summary>
            public void Dispose()
            {
                var disposeAction = Interlocked.Exchange(ref _disposeAction, null);
                if (disposeAction != null)
                {
                    try
                    {
                        disposeAction.Invoke();
                    }
                    catch (Exception)
                    {
                        Interlocked.Exchange(ref _disposeAction, disposeAction);
                        throw;
                    }
                }
            }
Re[3]: [CodeJam] Operators - minor fixes
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 17.04.16 21:29
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Собственно вопрос: как это дело удобней оформить? Просто списком сюда, код не править или сделать ветку, там поправить и оформить пуллреквестом?


Не могу ответить на этот вопрос не зная конкретики.

S>99% за то, что спорных место будет мало. Например, в основном namespace сходу заметил только одно, AnonymousDisposable.Dispose() должен выглядеть как-то так:


Это ж не API изменение, а реализации — поддержка многопоточности. Такое можно сразу в master.

S>
S>            /// <summary>
S>            /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
S>            /// </summary>
S>            public void Dispose()
S>            {
S>                var disposeAction = Interlocked.Exchange(ref _disposeAction, null);
S>                if (disposeAction != null)
S>                {
S>                    try
S>                    {
S>                        disposeAction.Invoke();
S>                    }
S>                    catch (Exception)
S>                    {
S>                        Interlocked.Exchange(ref _disposeAction, disposeAction);
S>                        throw;
S>                    }
S>                }
S>            }
S>
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[4]: [CodeJam] Operators - minor fixes
От: Sinix  
Дата: 18.04.16 10:22
Оценка:
Здравствуйте, AndrewVK, Вы писали:

S>>Собственно вопрос: как это дело удобней оформить? Просто списком сюда, код не править или сделать ветку, там поправить и оформить пуллреквестом?

AVK>Не могу ответить на этот вопрос не зная конкретики.
Ок, завёл отдельные темы.

AVK>Это ж не API изменение, а реализации — поддержка многопоточности. Такое можно сразу в master.

Ок, скину сегодня скинул.
Отредактировано 18.04.2016 13:51 Sinix . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.