Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 24203 сообщений
Cообщения с меткой

microsoft - Самое интересное в блогах

Следующие 30  »
SoftLabirint

MInstAll v.30.08.2016 By Denysenko Stas (RUS) » SoftLabirint.Ru: Скачать бесплатно и без регистрации - Самые Популярные Новости Интернета

Среда, 31 Августа 2016 г. 09:15 (ссылка)
softlabirint.ru/soft/system...s-rus.html


MInstAll v.30.08.2016 By Denysenko Stas (RUS)

Сборник программ MInstAll для быстрой установки необходимого и часто используемого софта. Представленные программы уже зарегистрированы и не требуют активации. Данная сборка имеет компактный размер, почти все программы устанавливаются в тихом режиме. Состав программ приложен ниже.



Особенности:



• Программы разделены по категориям.

• Для каждого пункта имеется описание, которое всплывает внизу при наведении курсора.

• Небольшой размер

• Собраны все необходимые программы для удобной работы с ПК



Список программ:



Система:

• DirectX x86-x64 9.0c

• Microsoft .NET Framework 1.1-4.0 WinXP

• Microsoft .NET Framework 3.5 Win 8.1

• Microsoft .NET Framework 4.6.2

• Microsoft Silverlight 5.1.31211.0

• RuntimePack 16.8.24 Full

• Java SE Runtime Environment x86/x64 8.0.92

• Acronis Disk Director 12.0.3270

• Acronis True Image 2017 20.0.5534

• AIDA64 Business Edition 5.75.3900

• AusLogics BoostSpeed 5.5.1.0

• AusLogics BoostSpeed 9.0.0.0 DC 01.08.2016

• CCleaner 5.21.5700 Professional Edition

• Glary Utilities Pro 5.58.0.79

• Hard Disk Sentinel Pro 4.71.8128

• Kerish Doctor 2016 4.60

• Mem Reduct 3.1.1454

• R-Studio 8.0 Build 164761 Network Edition

• Total Commander PowerPack 8.52a

• Uninstall Tool 3.5.0 Build 5507

• Unlocker 1.9.2

• USB Safely Remove 5.3.8.1234



CD-DVD:

• DAEMON Tools Ultra 4.1.0.0489

• Nero Burning ROM & Express 2016 17.0.8000

• UltraISO Premium Edition 9.6.2.3059

• WinCDEmu 4.1



Мультимедиа и графика:

• Adobe Photoshop CS6 Extended 13.0.1.3

• AIMP 4.10 Build 1827

• Daum PotPlayer 1.6.62949

• FastStone Capture 8.4

• Format Factory 3.9.5

• K-Lite Codec Pack 12.3.5 Mega

• MAGIX Vegas Pro 13.0 Build 543

• Techsmith Snagit 13.0.2 Build 6653

• Wondershare Filmora 6.7.0



Интернет:

• µTorrent Pro 3.4.8 Build 42501

• qBittorrent 3.3.6

• Adobe Components 15.07.2016

• Google Chrome 49.0.2623.112

• Google Chrome 52.0.2743.116 Enterprise

• Internet Download Manager 6.25 Build 25

• Mozilla Firefox 48.0.2

• Opera 12.18.1872/1873

• Opera 39.0.2256.48

• RarmaRadio Pro 2.70.3

• Skype 7.27.32.101

• TeamViewer 11.0.65452 Premium

• Яндекс.Браузер 16.9.0.2763



Офис:

• ABBYY FineReader Professional 12.0.101.483

• Microsoft Office 2003 Pro SP3 11.0.8173.0

• Microsoft Office 2003 Word+Excel+PowerPoint 11.0.8173.0

• Microsoft Office 2007 Enterprise 12.0.6754.5000

• Microsoft Office 2007 Word+Excel+PowerPoint 12.0.6754.5000

• Microsoft Office 2016 Pro Plus VL 16.0.4405.1000

• Microsoft Office 2016 Word+Excel+PowerPoint 16.0.4405.1000

• Notepad++ 6.9.2

• Office Tab Enterprise 10.50

• PDF-XChange Viewer Pro 2.5.317.1

• STDU Viewer 1.6.375

• Sumatra PDF 3.1.2



Другое:

• Avast Free Antivirus 12.3.2280

• Bandicam 3.2.1.1106

• ESET Endpoint Antivirus 6.4.2014.2

• ESET Endpoint Security 6.4.2014.2

• HashTab Comercial 6.0.0.28

• RocketDock 1.3.5

• Shadow Defender 1.4.0.650

• StartIsBack Plus 1.7.5 Win8.1

• StartIsBack++ 1.3.3 Win10

• VirtualBox 5.1.4 Build 110228

• Volume2 1.1.4.347

• WinRAR 5.40



Что нового:



• MInstAll обновлена до версии 1.0.1.93



Добавлено:

• qBittorrent 3.3.6

• ESET Endpoint Antivirus 6.4.2014.2

• ESET Endpoint Security 6.4.2014.2

• K-Lite Codec Pack 12.3.5 Mega

• MAGIX Vegas Pro 13.0 Build 543

• Shadow Defender 1.4.0.650

• DAEMON Tools Ultra 4.1.0.0489



Удалено:

• DAEMON Tools Pro 7.1.0.0595

• StartIsBack Plus 2.1.2 Win8



Обновлено:

• µTorrent Pro 3.4.8 Build 42501

• Acronis True Image 2017 20.0.5534

• AIMP 4.10 Build 1827

• AusLogics BoostSpeed 9.0.0.0 DC 01.08.2016

• Avast Free Antivirus 12.3.2280

• Bandicam 3.2.1.1106

• CCleaner 5.21.5700 Professional Edition

• Daum PotPlayer 1.6.62949

• Format Factory 3.9.5

• Glary Utilities Pro 5.58.0.79

• Google Chrome 52.0.2743.116 Enterprise

• Internet Download Manager 6.25 Build 25

• Mem Reduct 3.1.1454

• Microsoft .NET Framework 4.6.2

• Microsoft Office 2007 Enterprise 12.0.6754.5000

• Microsoft Office 2007 Word+Excel+PowerPoint 12.0.6754.5000

• Microsoft Office 2016 Pro Plus VL 16.0.4405.1000

• Microsoft Office 2016 Word+Excel+PowerPoint 16.0.4405.1000

• Mozilla Firefox 48.0.2

• Opera 39.0.2256.48

• R-Studio 8.0 Build 164761 Network Edition

• RuntimePack 16.8.24 Full

• Skype 7.27.32.101

• StartIsBack++ 1.3.3 Win10

• Sumatra PDF 3.1.2

• TeamViewer 11.0.65452 Premium

• Techsmith Snagit 13.0.2 Build 6653

• Uninstall Tool 3.5.0 Build 5507

• VirtualBox 5.1.4 Build 110228

• WinRAR 5.40

• Яндекс.Браузер 16.9.0.2763



ВАЖНО:



• Ко многим программам применены "лекарства".

• Поэтому во избежании ложных срабатываний антивирусов рекомендуется их отключить или добавить исключения.

 



MInstAll v.30.08.2016 By Denysenko Stas (RUS) MInstAll v.30.08.2016 By Denysenko Stas (RUS) MInstAll v.30.08.2016 By Denysenko Stas (RUS)



MInstAll v.30.08.2016 By Denysenko Stas (RUS) MInstAll v.30.08.2016 By Denysenko Stas (RUS)






Системные требования:

• Windows XP,Vista,7,8,8.1,10, x86/x64



Информация о софте:

Дата выхода: 30 августа 2016 года

Название: MInstAll v.30.08.2016 By Denysenko Stas

Версия: v.30.08.2016

Автор сборки: Denysenko Stas

Система: x86/x64/Windows XP/Vista/7/8/8.1/10

Язык интерфейса: Русский

Лекарство: Не требуется

Размер: 4.51 GB



Скачать: MInstAll v.30.08.2016 By Denysenko Stas (RUS) >>>



 



Подписка на новости сайта…

http://feeds.feedburner.com/Soft-Labirint

http://feeds.feedburner.com/Soft-Labirint?format=xml

https://feedburner.google.com/fb/a/mailverify?uri=Soft-Labirint

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Taniaum

видео-УРОКИ по Paint.NET- бесплатныму графическому редактору рисунков и фотографий для Windows

Вторник, 30 Августа 2016 г. 18:52 (ссылка)

Это цитата сообщения Ваша_ТАНЯ_идущая_по_Судьбе Оригинальное сообщение





Счетчик посещений Counter.CO.KZ - бесплатный счетчик на любой вкус!

4026647_PAINT_tekst1 (650x180, 110Kb)

4026647_koddaj_PAINT_net_ot_BabiLENI (650x390, 83Kb)


...не перестаю восхищаться замечательной Еленой Пересторониной (БабаЛена),которая не только делает что-то для себя и других в технике ДЕУПАЖ и делится своими знаниями в этой области :


10 видео МК по декупажу от babaLena


ОНА ещё записала серию видео-УРОКОВ о бесплатной программе Paint.Net ,которую с лёгкостью использует для создания авторских картинок,украшающих её восхитительные творения.


... в моей реальной жизни Hand Made занимает много свободного времени... и работу в известных бесплатных графических редакторах рисунков и фотографий,включая онлайн,я изучаю именно в аспекте дальнейшего применения своих коллажей в практических целях.


...на этих понятных видео-УРОКИХ БабыЛЕНЫ с учётом их использования по назначению  я и училась Paint.Net - просто внимательно вслушивайтесь в пояснения ЕЛЕНЫ и всматривалась на какие кнопочки надо жать и что в результате получается brunette.


ИТАК,вот ЭТИ УРОКИ...take_example

Ваша ТАНЯ,идущая по Судьбе
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
SoftLabirint

BELOFF 2016.8.2 (2016) RUS » SoftLabirint.Ru: Скачать бесплатно и без регистрации - Самые Популярные Новости Интернета

Суббота, 28 Августа 2016 г. 01:11 (ссылка)
softlabirint.ru/soft/system...6-rus.html


BELOFF 2016.8.2 (2016) RUS

Универсальный сборник программ, распределённых по категориям, с автоматической установкой на операционные системы Windows. В сборник дополнительно добавлены портативные приложения, которые можно будет легко использовать как с диска и виртуального привода, так и с USB-накопителей, включая установку WPI и MInstAll. Для большего удобства использования сборника добавлено мультизагрузочное меню.



Автоматическая установка программ








Портативные программы и обычная установка










Справочники










Мультизагрузка










BELOFF 2016.8.2 (2016) RUS BELOFF 2016.8.2 (2016) RUS BELOFF 2016.8.2 (2016) RUS






Контрольные суммы

CRC32: FFFFFFFF

MD5: 4A46984EFC687606512E347801ECA013

SHA-1: 50A12F25002B27CD667AED9C94C719304A79EBC8



Системные требования:

Windows XP, Vista, 7, 8, 8.1, 10 x86-x64



Версия программы: 2016.8.2

Язык интерфейса: Русский

Лечение: не требуется



Скачать: BELOFF 2016.8.2 (2016) RUS >>>



 



Подписка на новости сайта…

http://feeds.feedburner.com/Soft-Labirint

http://feeds.feedburner.com/Soft-Labirint?format=xml

https://feedburner.google.com/fb/a/mailverify?uri=Soft-Labirint

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Проверяем исходный код MSBuild с помощью PVS-Studio

Четверг, 25 Августа 2016 г. 15:13 (ссылка)





Работая над развитием статического анализатора исходного кода PVS-Studio, мы часто сталкиваемся с необходимостью проверки на наличие ошибок больших открытых проектов от именитых разработчиков. Тот факт, что даже в таких проектах удается найти ошибки, делает нашу работу гораздо более осмысленной. К сожалению, все допускают ошибки. Как бы грамотно ни была выстроена система контроля качества выпускаемого программного кода, нет абсолютно никакой возможности избежать особенностей «человеческого фактора». До тех пор, пока разработкой программ занимаются люди, актуальность использования инструментов для поиска ошибок в коде, таких как PVS-Studio, не уменьшится. Сегодня мы будем искать ошибки в исходном коде MSBuild, который, увы, тоже не идеален.





Введение



Microsoft Build Engine (MSBuild) — это платформа для автоматизации сборки приложений от компании Microsoft. MSBuild обычно используется совместно с Microsoft Visual Studio, однако не зависит от него. MSBuild обеспечивает для файла проекта (*.csproj, *.vbproj, *.vcxproj) схему XML, которая управляет способами обработки и сборки приложений платформой сборки. MSBuild является частью платформы .NET и разработан на языке программирования C#.



Microsoft предоставляет исходные коды MSBuild для свободной загрузки на ресурсе GitHub. Учитывая высокие стандарты качества разработки приложений, принятые в компании Microsoft, задача поиска ошибок в исходном коде MSBuild является непростой даже для качественного статического анализатора. Но дорогу осилит идущий. Проведем проверку исходного кода MSBuild при помощи PVS-Studio версии 6.07.



Исходные данные и общая статистика проверки



Решение MSBuild состоит из 14 проектов, которые, в свою очередь, содержат в совокупности 1256 файлов с исходным кодом на языке программирования C#. Примерное число строк кода составляет 440 000.



После проверки MSBuild статическим анализатором PVS-Studio было получено 262 предупреждения. Общая статистика проверки с разграничением по уровням важности полученных предупреждений имеет вид:





Из диаграммы видно, что было выдано 73 предупреждения высокого уровня, 107 среднего и 82 низкого. Основной упор следует сделать на изучении сообщений с уровнями High и Medium. Здесь содержатся потенциально опасные конструкции и реальные ошибки. Предупреждения уровня Low также указывают на ошибки, но в них высок процент ложных срабатываний, и при написании статей мы обычно их не изучаем.



Проведенный анализ полученных предупреждений выявил, что на уровнях High и Medium содержится порядка 45% ошибочных конструкций (81 ошибка). Оставшиеся предупреждения не являются ошибками, а представляют собой просто подозрительные с точки зрения PVS-Studio конструкции и ложные срабатывания. Некоторые предупреждения были получены для Unit-тестов или в тех частях кода, где присутствуют комментарии, поясняющие, что конструкция заведомо небезопасна и используется для проверки на выброс исключения. Тем не менее, оставшиеся предупреждения анализатора требуют пристального внимания разработчиков, так как только авторы действительно знают свой код и способны дать адекватную оценку правильности того или иного предупреждения.



С учетом этого, коэффициент обнаружения ошибок PVS-Studio на уровнях High и Medium на тысячу строк кода (плотность ошибок) составляет всего 0.184 (ошибок / 1 KLoc). Это неудивительно для продукта, разрабатываемого Microsoft, и свидетельствует о высоком качестве кода MSBuild.



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



Результаты проверки



Ошибочная проверка на равенство null



Предупреждение анализатора PVS-Studio: V3019 Possibly an incorrect variable is compared to null after type conversion using 'as' keyword. Check variables 'obj', 'name'. AssemblyRemapping.cs 64



Пожалуй, уже ставшая классической ошибка, которая встречается почти в каждом проверяемом нами проекте. После приведения типа с помощью оператора as, на равенство null проверяют не ту переменную:

AssemblyNameExtension name = obj as AssemblyNameExtension;
if (obj == null) // <=
{
return false;
}


В данном случае необходимо проверить на равенство null переменную name. Корректный вариант кода:

AssemblyNameExtension name = obj as AssemblyNameExtension;
if (name == null)
{
return false;
}


Несвоевременная проверка на равенство null



Предупреждение анализатора PVS-Studio: V3095 The 'diskRoots' object was used before it was verified against null. Check lines: 2656, 2659. ToolLocationHelper.cs 2656



Обратите внимание на параметр diskRoots. Это объект класса List, и его значение может быть равно null. Однако, проверка данного факта производится только во втором блоке if уже после того, как переменная diskRoots была использована для вставки значений в список:

private static void ExtractSdkDiskRootsFromEnvironment
(List diskRoots, string directoryRoots)
{
if (!String.IsNullOrEmpty(directoryRoots))
{
....
diskRoots.AddRange(splitRoots); // <=
}

if (diskRoots != null) // <=
....
}


В коде MSBuild было найдено еще 8 подобных потенциально небезопасных конструкций:

  • V3095 The 'propertyValue' object was used before it was verified against null. Check lines: 2760, 2799. Expander.cs 2760

  • V3095 The 'publicKeyToken' object was used before it was verified against null. Check lines: 232, 236. GenerateBindingRedirects.cs 232

  • V3095 The 'searchLocation' object was used before it was verified against null. Check lines: 170, 178. Resolver.cs 170

  • V3095 The 'assemblyName' object was used before it was verified against null. Check lines: 176, 194. Resolver.cs 176

  • V3095 The 'searchLocation' object was used before it was verified against null. Check lines: 249, 264. Resolver.cs 249

  • V3095 The 'ReferenceInfo' object was used before it was verified against null. Check lines: 87, 97. AxReference.cs 87

  • V3095 The 'packageFileName' object was used before it was verified against null. Check lines: 1448, 1457. BootstrapperBuilder.cs 1448

  • V3095 The 'metadataNames' object was used before it was verified against null. Check lines: 243, 253. CommandLineBuilderExtension.cs 243



Ошибочное предположение о длине строки



Предупреждение анализатора PVS-Studio: V3057 The 'Substring' function could receive the '-1' value while non-negative value is expected. Inspect the second argument. Utilities.cs 328



Условием входа в блок if является строка, состоящая из одного или более символов. При этом внутри блока производится попытка получения подстроки исходной строки. Очевидно, что в строке, состоящей из одного символа, второй параметр метода Substring будет отрицательным, и метод выбросит исключение ArgumentOutOfRangeException:

if (toolsVersionList.Length > 0)
{
toolsVersionList = toolsVersionList.Substring(0,
toolsVersionList.Length - 2);
}


Безопасный вариант данного фрагмента кода мог бы выглядеть так:

if (toolsVersionList.Length > 1)
{
toolsVersionList = toolsVersionList.Substring(0,
toolsVersionList.Length - 2);
}


Подобные ошибки в коде:

  • V3057 The 'Substring' function could receive the '-1' value while non-negative value is expected. Inspect the second argument. SolutionFile.cs 1217

  • V3057 The 'Substring' function could receive the '-1' value while non-negative value is expected. Inspect the second argument. XMake.cs 2929

  • V3057 The 'Remove' function could receive the '-1' value while non-negative value is expected. Inspect the first argument. BootstrapperBuilder.cs 767



Приведение типа с потерей точности



Предупреждение анализатора PVS-Studio: V3041 The expression was implicitly cast from 'long' type to 'float' type. Consider utilizing an explicit type cast to avoid the loss of a fractional part. An example: double A = (double)(X) / Y;. CommunicationsUtilities.cs 593



Переменные now и s_lastLoggedTicks имеют тип long. Производятся вычисления, результатом которых должно быть значение типа float. Однако, так как операция деления производится над переменными типа long, и только после этого результат выражения приводится к типу float, произойдет потеря точности:

float millisecondsSinceLastLog =
(float)((now – s_lastLoggedTicks)/10000L);


Правильный вариант данной конструкции:

float millisecondsSinceLastLog =
(float)(now – s_lastLoggedTicks)/10000;


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



Метод, который всегда возвращает true



Предупреждение анализатора PVS-Studio: V3009 It's odd that this method always returns one and the same value of 'true'. ComReference.cs 304



Метод GetTypeLibNameForITypeLib возвращает значение true при любых условиях:

internal static bool GetTypeLibNameForITypeLib(....)
{
....
if (typeLib2 == null)
{
....
return true; // <=
}
....
try
{
if (data == null || ...)
{
....
return true; // <=
}
....
}
catch (COMException ex)
{
....
return true; // <=
}
return true; // <=
}


При этом возвращаемое методом GetTypeLibNameForITypeLib значение типа bool проверяется в вызывающем коде. Такое поведение может приводить к непредсказуемым последствиям. Необходимо провести рефакторинг кода и устранить ошибку.



Бессмысленное сравнение



Предупреждение анализатора PVS-Studio: V3022 Expression 'itemsAndMetadataFound.Metadata.Values.Count > 0' is always true. Evaluator.cs 1752



После того, как во внешнем блоке if выполняется проверка itemsAndMetadataFound.Metadata.Values.Count > 0, такая же проверка, уже бессмысленная, производится внутри блока:

if (itemsAndMetadataFound.Metadata != null && 
itemsAndMetadataFound.Metadata.Values.Count > 0)
{
....
if (itemsAndMetadataFound.Metadata.Values.Count > 0) // <=
{
needToProcessItemsIndividually = true;
}
....
}


Помимо этой, в коде MSBuild было обнаружено еще 7 подобных ошибок:

  • V3022 Expression 'fixedPathInfo != null' is always true. FrameworkLocationHelper.cs 794

  • V3022 Expression '_shutdownException != null' is always false. InProcNode.cs 527

  • V3022 Expression 'proj != null' is always true. SolutionFile.cs 817

  • V3022 Expression '_directMetadata == null' is always false. ProjectItem.cs 755

  • V3022 Expression 'Constants.defaultToolsVersion == «2.0»' is always true. ToolsetReader.cs 194

  • V3022 Expression '!isQuotedTransform && functionCapture == null' is always true. ExpressionShredder.cs 281

  • V3022 Expression '!isQuotedTransform && functionCapture == null' is always true. ExpressionShredder.cs 414



Взаимоисключающие сравнения



Предупреждение анализатора PVS-Studio: V3011 Two opposite conditions were encountered. The second condition is always false. Check lines: 2840, 2838. XMake.cs 2840



Условием входа в блок if является равенство null переменной logger. Однако уже внутри блока в методе VerifyThrow используется проверка на неравенство null этой же переменной. Таким образом, проверка, производимая для метода VerifyThrow, будет всегда ложной:

if (logger == null)
{
InitializationException.VerifyThrow(logger != null, // <=
"LoggerNotFoundError", unquotedParameter);
}


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



Неиспользуемые аргументы при форматировании строки



Предупреждение анализатора PVS-Studio: V3025 Incorrect format. A different number of format items is expected while calling 'WriteLine' function. Arguments not used: 1st. Scheduler.cs 2216



Ошибка содержится во второй строке кода. Судя по всему, она была получена путем копирования первой строки (пресловутый copy-paste) и заменой в ней первого параметра. При этом второй, ставший ненужным параметр _schedulingData.EventTime.Ticks, удалить забыли:

file.WriteLine("Scheduler state at timestamp {0}:",
_schedulingData.EventTime.Ticks);
file.WriteLine("------------------------------------------------",
_schedulingData.EventTime.Ticks); // <=


Таким образом, во второй строке кода ошибочно используется перегрузка метода WriteLine(string format, object arg0) вместо корректной.



Подобные найденные ошибки:

  • V3025 Incorrect format. A different number of format items is expected while calling 'Format' function. Arguments not used: resource. XmlUtil.cs 75

  • V3025 Incorrect format. A different number of format items is expected while calling 'Format' function. Arguments not used: resource. XmlUtil.cs 82

  • V3025 Incorrect format. A different number of format items is expected while calling 'Format' function. Arguments not used: resource. XmlUtil.cs 91

  • V3025 Incorrect format. A different number of format items is expected while calling 'Format' function. Arguments not used: resource. XmlUtil.cs 112



Неиспользуемый параметр



Предупреждение анализатора PVS-Studio: V3061 Parameter 'numericValue' is always rewritten in method body before being used. NodePacketTranslator.cs 320



Список формальных параметров метода содержит переменную numericValue, значение которой никогда не используется, так как сразу заменяется новым значением:

public void TranslateEnum(ref T value, int numericValue)
{
numericValue = _reader.ReadInt32(); // <=
Type enumType = value.GetType();
value = (T)Enum.ToObject(enumType, numericValue);
}


Возможно, производился рефакторинг кода, но сигнатуру метода (в отличие от его тела) было невозможно изменить. В противном случае имеет смысл произвести корректировку данного метода:

public void TranslateEnum(ref T value)
{
int numericValue = _reader.ReadInt32();
Type enumType = value.GetType();
value = (T)Enum.ToObject(enumType, numericValue);
}


Еще одно подобное предупреждение:

  • V3061 Parameter 'defaultToolsVersion' is always rewritten in method body before being used. ToolsetProvider.cs 118



Лишнее присваивание



Предупреждение анализатора PVS-Studio: V3005 The '_nextProjectId' variable is assigned to itself. LoggingService.cs 325



Анализатор обнаружил конструкцию, в которой производится лишнее присваивание для поля _nextProjectId. Сначала вычисляется значение MaxCPUCount + 2, которое прибавляется к значению _nextProjectId и присваивается ему же оператором +=. А затем полученное значение еще раз присваивается полю _nextProjectId:

public int NextProjectId
{
get
{
lock (_lockObject)
{
_nextProjectId = _nextProjectId += MaxCPUCount + 2; // <=
return _nextProjectId;
}
}
}


В данном случае ошибки нет, но код выглядит странно. Эту конструкцию имеет смысл упростить:

public int NextProjectId
{
get
{
lock (_lockObject)
{
_nextProjectId += MaxCPUCount + 2;
return _nextProjectId;
}
}
}


Заключение



В заключение хочется отметить, насколько полезным может быть регулярное использование статических анализаторов кода, таких как PVS-Studio, для поиска потенциальных и реальных ошибок, даже в таких качественных проектах, как MSBuild.



Вы всегда можете повторить приведенные в данной статье примеры поиска ошибок, а также проверить собственные проекты при помощи демонстрационной версии анализатора PVS-Studio.





Если хотите поделиться этой статьей с англоязычной аудиторией, то прошу использовать ссылку на перевод: Sergey Khrenov. Checking the Source Code of MSBuild with PVS-Studio.



Прочитали статью и есть вопрос?
Часто к нашим статьям задают одни и те же вопросы. Ответы на них мы собрали здесь: Ответы на вопросы читателей статей про PVS-Studio, версия 2015. Пожалуйста, ознакомьтесь со списком.


Original source: habrahabr.ru.

https://habrahabr.ru/post/308520/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Microsoft предлагает бесплатные лицензии Windows Server 2016 Datacenter для клиентов, которые откажутся от VMware

Четверг, 25 Августа 2016 г. 14:48 (ссылка)



В корпоративном блоге Microsoft Windows Server Team вчера появилась новость о том, что с 1 сентября 2016 года до 30 июня 2017 года клиенты, готовые перенести рабочие нагрузки с VMware на Hyper-V, получат Windows Server 2016 бесплатно.



Microsoft делает упор на большом числе новых возможностей в новом гипервизоре и операционной системе, таких как Shielded Virtual Machines, Just Enough and Just in Time Administration,Rolling OS Cluster Upgrades, Storage Spaces Direct, Storage Replica, SDN Load Balancer, Network Controller, Distributed Firewall, Azure Data Plane for starters и др.



Отмечается, что эксперты Gartner не только подтверждают то, что Microsoft уже не первый год находится в квадрате лидеров в области виртуализации, но и неуклонно приближается к позициям VMware.







С другими аргументами Microsoft можно ознакомиться на специальном разделе корпоративного сайта.







Но как мы понимаем, Microsoft не была бы собой, если бы предложение не несло в себе скрытые издержки.



1. Вы получите лицензии только в том случае, если оплатите Software Assurance. Стоимость Software Assurance за два года составляет 50% от стоимости продукта. Так что половину вы заплатите в любом случае.



2. Вам потребуются новые лицензии Windows CAL, иначе теряется смысл в дорогих лицензиях Datacenter. Прибавляйте по 1225 рублей на каждого пользователя.



3. По сравнению с Windows Server 2012 R2, новый продукт лицензируется по ядрам, а не по процессорам. Если вы используете довольно скромные 4-6 ядерные процессоры, сэкономить не получится, так как минимальное число лицензий на один физический сервер — 16 cores. Утешиться можно тем, что стоимость 16 cores WS2016 сопоставима с 2 CPU WS 2012R2. Но в любом случае, минимум 6155$ (3077$ за Sowtware Assurnace 200 000 рублей по текущему курсу) заплатить придется.



4. Для подтверждения серьезности ваших намерений, миграция, по-видимому, должна выполняться авторизованным партнером (Engage your partner to start the migration process), а эта процедура далеко не бесплатна.



5. Не учитывается, сколько вы потеряете отказавшись от такого дорогостоящего програмного актива, как лицензии VMware. Конечно, если вы используете старую версию продукта и не продлеваете техническую поддержку, актив обесценивается с каждым днем. Но если вы давно обеспечены лицензиями VMware и платите только за поддержку, выгода вновь становится не столь очевидной.



Что ж, если вы всерьез намерены отказаться от продуктов VMware и перейти на KVM Hyper-V, а новый (и весьма достойный) функционал Windows Server 2016 будет востребован в вашей компании, это предложение может сэкономить вам по приблизительным расчетам 25-35% от бюджета.



Но следует помнить, что первая доза бесплатно бесплатный сыр бывает только в мышеловке, а Microsoft — не благотворительная организация. Поэтому за видимой экономией скрываются и многочисленные дополнительные издержки.

Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/308510/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<microsoft - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda