У меня после клика на https://developer.microsoft.com/en-us/skype/bots появляется регистрационная форма, после ее заполнения обещают прислать дальнейшие инструкции на email. Жду ответа со вчерашнего вечера :)
Примерно так и работае HiLo Identity Generator в NHibernate. Hi (номер cледующего свободного блока) хранится в отдельной таблице в БД, при старте приложение атомарно считывает и инкрементирует текущее значение. Lo часть генерируется на клиентском приложении. Id вычисляется как Hi * 32767 + Lo.
Из минусов могу назвать:
1. Int32 действительно быстро кончаются.
2. Неудобно вставлять данные из скриптов — приходится повторять логику по инкрементированию Hi и вычислению Id.
3. Последовательности Id получаются с пропусками.
Реализация comb guid из NHibernate — старшие байты берем из даты-времени (что обеспечивает возрастание), младшие байты из Guid.NewGuid() обеспечивают уникальность.
Мы используем в проекте вместе с NUnit и Resharper, никаких проблем нет. По сути, SpecFlow-файл при сохранении генерирует .cs файл с NUnit-тестом. Хорош тем, что тесты получаются краткие и написаные языком, понятным как разработчикам, так и тестировщикам\аналитикам.
Кроме того, с коллегами очень много споров было на тему аббревиатур при использовании верблюжьей нотации: как писать правильнее GenerateHTMLFromText или GenerateHtmlFromText, в итоге остановились на втором варианте, но чувство нерешенной проблемы все равно немного грызет.
Для себя установил правило: если в аббревиатуре больше двух букв — прописной делать только первую букву (XmlRequest), если две буквы — оставлять обе прописные (ADUser).
Hi (номер cледующего свободного блока) хранится в отдельной таблице в БД, при старте приложение атомарно считывает и инкрементирует текущее значение.
Lo часть генерируется на клиентском приложении.
Id вычисляется как Hi * 32767 + Lo.
Из минусов могу назвать:
1. Int32 действительно быстро кончаются.
2. Неудобно вставлять данные из скриптов — приходится повторять логику по инкрементированию Hi и вычислению Id.
3. Последовательности Id получаются с пропусками.
Планируется ли поддержка remote run и pre-tested commits в Visual Studio Addin для git?
без Interlocked.CompareExchange и там не обошлось.
при этом студия честно предупреждает о том, что поля родительского класса скрыты