Re[6]: Проект утилитной библиотечки
От: IT Россия linq2db.com
Дата: 16.03.16 15:18
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Единственные потенциальные проблемы — 4 пробела в качестве отступа и s_ префикс у статиков.


Пробелы и префиксы нафиг.

S>>5. Threat warnings as errors.

AVK>Это уже перебор.

Почему?
Если нам не помогут, то мы тоже никого не пощадим.
Re[7]: Проект утилитной библиотечки
От: IT Россия linq2db.com
Дата: 16.03.16 15:38
Оценка: +1
Здравствуйте, Sinix, Вы писали:

S>>>5. Threat warnings as errors.

AVK>>Это уже перебор.
S>Вот я сейчас работаю на проекте, на котором это не было сделано с самого начала. С варнингами в итоге никто не борется, потому что они есть даже в автосгенерированном коде. Количество сам можешь представить.
S>Поэтому только как errors, подавлять прагмой — её хоть найти можно.

Возможен компромисс. Если мы делаем два проекта, то в главном можно сделать всё по жёстче.

S>По названию — FlockLib пойдёт. Хотя бы не похоже на выхлоп генератора. Хотя CatHerd тоже ничего будет, отражает суть проекта. И реклама готовая есть,


Какие-то невнятные названия.

S>7. Нужно с самого начала определиться с тестами. Предлагаю требовать только тесты с сценариями использования, складывать их в отдельную папку (UseCases и назвать), остальное — добровольное, в папку Tests.


Запутаемся. Думаю одного проекта Tests хватит за глаза.

S>Тесты — любые, которые поддерживает appveyor, я бы взял xUnit, хотя бы из-за xBehave или fixie.


Я бы взял новый NUnit 3. Там всё переработано и сделано очень неплохо, особенно с параметризированными тестами.
Если нам не помогут, то мы тоже никого не пощадим.
Re[3]: Проект утилитной библиотечки
От: IT Россия linq2db.com
Дата: 16.03.16 15:43
Оценка:
Здравствуйте, Doc, Вы писали:

Doc>А это все планируется как единая библиотека (1 пакет NuGet) или же с разделением по темам (ну там lib.Strings , lib.XDoc и т.д.)


Это слишком мелкое дробление. Если что-то выделять в отдельные модули, то, например, связанное с ASP.NET или WCF. Т.е. то, что требует дополнительных зависимостей.

Doc>Так же для какого .NET это все планируется делать (или для каких). Я как про мин. версию, так и тип.


Совершенно не проблема сделать для чего угодно включая сильверлайт и телефон.
Если нам не помогут, то мы тоже никого не пощадим.
Re[6]: Проект утилитной библиотечки
От: IT Россия linq2db.com
Дата: 16.03.16 15:48
Оценка:
Здравствуйте, Doc, Вы писали:

Doc>4.5.2 как минимально поддерживаемый это мне кажется разумным. Но вот не ограничит ли это область использования?


Для тех задач которые здесь обозначили не вижу проблем сделать это всё хоть для 4.0. А нугетов можно наплодить хоть для каждой версии отдельно.
Если нам не помогут, то мы тоже никого не пощадим.
Re[5]: Проект утилитной библиотечки
От: Evgeny.Panasyuk Россия  
Дата: 16.03.16 16:00
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>>>Ну и с С++ ситуация сильно другая,

EP>>И чем она сильно другая?
AVK>Крайне бедная стандартная библиотека,

И как это меняет сабжевую ситуацию?

AVK>сам язык плохо приспособлен для написания широко используемых библиотек,


Почему?

AVK>много извратов с метапрограммированием на шаблонах.


В Boost есть в том числе и мета-библиотеки. Как это меняет сабжевую ситуацию? Метапрограммирование здесь вообще ортогонально

EP>> Тематика сабжа будет уже?

AVK>Наоборот шире. Но никаких планов по включению туда специализированных вещей типа того же spirit нет.

Так уже или шире? Если шире — то в каких направлениях?

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


То есть только универсальный код? Значит всё таки уже чем Boost? (в котором в том числе есть и не очень часто используемые библиотеки типа Odeint)

EP>>Да, тоже вариант, только экспериментальная часть должна быть доступна в том числе в виде пакета, должны прогоняться минимальные тесты и т.п. — то есть не просто experimental repo.

AVK>Разумеется.

Ещё хотелось бы знать какие компоненты и как часто используются. Как бы собрать такую статистику? Может косвенным способом через обращение к страницам документации?
Re: Проект утилитной библиотечки
От: Lexey Россия  
Дата: 16.03.16 16:05
Оценка:
Здравствуйте, AndrewVK, Вы писали:

Хочу (к уже ранее написанному):
1) Алгоритмы LowerBound/UpperBound на массивах и list'ах.
2) Коллекцию Disjoint Sets.
3) Хелпер для дампа куска массива байтов в строку (что-то типа .ToHexString(this byte[] array, int offset, int length)) — бывает полезно для отладочных дампов всякого протокольного обмена.

Могу поучаствовать (https://github.com/Lexey).
"Будь достоин победы" (c) 8th Wizard's rule.
Re[7]: Проект утилитной библиотечки
От: IT Россия linq2db.com
Дата: 16.03.16 16:09
Оценка:
Здравствуйте, Sinix, Вы писали:

S>xBehave — красивая штука для короткой записи тестов. Вместо простыни методов достаточно одного основного. Построен повер xunit


Не понял в чём прикол. Для устранения простыни достаточно параметризированных тестов. В NUnit такого полно.
Если нам не помогут, то мы тоже никого не пощадим.
Re[9]: Проект утилитной библиотечки
От: IT Россия linq2db.com
Дата: 16.03.16 16:11
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Ну значит xUnit


Да ну его нафиг. Его R# поддерживает?
Если нам не помогут, то мы тоже никого не пощадим.
Re[5]: Проект утилитной библиотечки
От: IT Россия linq2db.com
Дата: 16.03.16 16:20
Оценка: +1
Здравствуйте, Sinix, Вы писали:

S>Все варианты делают одно и то же, но вариант D самый читабельный, т.к. во-первых не требует скакать взглядом назад, во-вторых, не путается с IsNullOrEmpty() как C.


Скорее всего имеется ввиду, что граммитически Not здесь относится только Null.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Проект утилитной библиотечки
От: IT Россия linq2db.com
Дата: 16.03.16 16:25
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>По поводу студии и языка (не фреймворка!) — ограничиваемся 2013/5.0 или все таки 2015/6.0?


Однозначно 2015/6.0. Код генерируется вплоть до FW 2.0, так что никаких проблем.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Проект утилитной библиотечки
От: Evgeny.Panasyuk Россия  
Дата: 16.03.16 16:25
Оценка:
Здравствуйте, Lexey, Вы писали:

L>Хочу (к уже ранее написанному):

L>1) Алгоритмы LowerBound/UpperBound

+ std::equal_range, + самый универсальный вариант std::partition_point:
template< class ForwardIt, class UnaryPredicate >
ForwardIt partition_point( ForwardIt first, ForwardIt last, UnaryPredicate p );


L>на массивах и list'ах.


Бинарный поиск работает и на Forward Range типа односвязных списков (профит в том что количество сравнений логарифмическое)
Re[4]: Проект утилитной библиотечки
От: Doc Россия http://andrey.moveax.ru
Дата: 16.03.16 16:47
Оценка:
Здравствуйте, IT, Вы писали:

Doc>>А это все планируется как единая библиотека (1 пакет NuGet) или же с разделением по темам (ну там lib.Strings , lib.XDoc и т.д.)

IT>Это слишком мелкое дробление. Если что-то выделять в отдельные модули, то, например, связанное с ASP.NET или WCF. Т.е. то, что требует дополнительных зависимостей.

Это для примера. В любом случае, иметь одну сборку, которая будет содержать код "на все случаи жизни" не очень хочется. Ну и по зависимостям в том числе.
Re[10]: Проект утилитной библиотечки
От: Doc Россия http://andrey.moveax.ru
Дата: 16.03.16 17:15
Оценка:
Здравствуйте, IT, Вы писали:

AVK>>Ну значит xUnit

IT>Да ну его нафиг. Его R# поддерживает?

Билды с Core вроде нет, для обычных — есть расширение R#. Кроме этого какие аргументы против (за были удобство использования и то, что сами MS его используют вместо MS Test).
Re[5]: Проект утилитной библиотечки
От: IT Россия linq2db.com
Дата: 16.03.16 17:51
Оценка:
Здравствуйте, Doc, Вы писали:

Doc>Это для примера. В любом случае, иметь одну сборку, которая будет содержать код "на все случаи жизни" не очень хочется. Ну и по зависимостям в том числе.


Я бы остановился пока на зависимостях.
Если нам не помогут, то мы тоже никого не пощадим.
Re[11]: Проект утилитной библиотечки
От: IT Россия linq2db.com
Дата: 16.03.16 18:07
Оценка:
Здравствуйте, Doc, Вы писали:

IT>>Да ну его нафиг. Его R# поддерживает?


Doc>Билды с Core вроде нет, для обычных — есть расширение R#. Кроме этого какие аргументы против (за были удобство использования и то, что сами MS его используют вместо MS Test).


За NUnit

— промышленный стандарт
— развитая, легко кастомизируемая система поддержки параметризированых тестов, для наших задач самое оно
— поддержка R# из коробки
— суперактивная работа над проектом в настоящее время, думаю, что сейчас можно попросить любых ништяков
— поддержка консольного режима запуска, что может быть полезно при автоматических билдах

Против xUnit главным образом R# и по опыту его использования всё у них там как-то из стороны в сторону. Что касается использования самим MS, то создаётся впечатление, что крому MS оно больше особо никому не нужно.
Если нам не помогут, то мы тоже никого не пощадим.
Re[7]: Проект утилитной библиотечки
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 16.03.16 19:35
Оценка:
Здравствуйте, IT, Вы писали:

AVK>>Это уже перебор.

IT>Почему?

Мне, как человеку, испорченному решарпером хватает его подсказок, чтобы держать проект более менее чистым.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[10]: Проект утилитной библиотечки
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 16.03.16 19:35
Оценка:
Здравствуйте, IT, Вы писали:

IT>Да ну его нафиг. Его R# поддерживает?


Думал что да. Оказалось — только через плагины. Пичалька.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[6]: Проект утилитной библиотечки
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 16.03.16 19:35
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

AVK>>Крайне бедная стандартная библиотека,

EP>И как это меняет сабжевую ситуацию?

Другие требования. Подобная библиотека будет содержать в разы больше функционала. Плюс существенно сложнее избавляться от сквозного функционала — одни только разнообразные строки чего стоят.

AVK>>сам язык плохо приспособлен для написания широко используемых библиотек,

EP>Почему?

По целому ряду причин. Например, потому что ABI нет. Потому что шаблоны только во время компиляции существуют. Потому что компонентная модель при попытке реализации порождает монстров вроде СОМ. Потому что хидеры за собой надо таскать. И т.д.

EP>>> Тематика сабжа будет уже?

AVK>>Наоборот шире. Но никаких планов по включению туда специализированных вещей типа того же spirit нет.
EP>Так уже или шире? Если шире — то в каких направлениях?

Во всех. Еще раз — идея в том чтобы собрать максимально неспециализированный код, а не очередной всемогутер типа буста или жабьего спринга.

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

EP>То есть только универсальный код?

Да.

AVK>>Разумеется.

EP>Ещё хотелось бы знать какие компоненты и как часто используются. Как бы собрать такую статистику? Может косвенным способом через обращение к страницам документации?

Только голосованиями/сурвеями.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[4]: Проект утилитной библиотечки
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 16.03.16 19:35
Оценка:
Здравствуйте, vmpire, Вы писали:

V>Могу пока что высказать мнение чего НЕ стоит включать в библиотеку:

V>- преобразование XML в строку и обратно

Странная идея. Парсеров xml и так две штуки в фреймворке.

V>- синтаксический сахар, который не уменьшает сильно количество кода.


Почему?

V>А вот "парсер командной строки", который AndrewVK включат не хочет, я бы как раз включил. При условии, что он гибко декларативно настраиваемый.


Гибкость и декларативность — понятие растяжимое. Тот про который я говорил -https://bitbucket.org/andrewvk/r.sat/src/4a6f54c8484fb69719ba34cc02884829e4909c8b/R.SAT-UnitTests/CommandLine/CheckerTest.cs?at=master&amp;fileviewer=file-view-default
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[5]: Проект утилитной библиотечки
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 16.03.16 19:35
Оценка: +1
Здравствуйте, Sinix, Вы писали:

S>Ну, т.е. нужен issue tracker, но, как я понимаю, не гитхаб, т.к. обсуждения планируется на русском.


Не, вот два issue трекера точно заводить не будем, концов не соберешь. Достаточно гитхабовского. Ни или местного, если по каким то причинам гитхаб не устраивает. Просто не надо смешивать обсуждения и трекер, это на гитхабе оно смешано ввиду отсутствия там форума.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.