Помните анекдот про HR, который выбросил в мусорку половину резюме, даже не взглянув, мол, "а зачем нам неудачники?" Тоже вот несправедливый, но какой-никакой критерий отсева.
+100. Очень жаль, что фичу чёрного списка бросили на полпути. Я всё думаю написать userscript, который бы в фоне загружал статьи, проверял автора и при необходимости скрывал ссылки, но пока что лень, несмотря на то, что вляпываюсь очень часто.
Если вам важна разница в производительности между zero-initialized структурами и SkipLocalsInit, то ваш кейс уже довольно специфичен, а не один из тысяч (вы ведь провели профилирование кода и уверены, что это необходимая оптимизация, верно?).
А считать хеш нужно очень редко
Тогда хешу можно скормить данные и поле за полем, ручками.
Паддинг - это такая implementation-defined штука: сегодня там три байта между полями, завтра компилятор обновился и стало семь. Такие структуры в принципе нельзя шарить между разными платформами. Разве только если любите стрелять себе по ногам. Выкиньте эту плюсовую либу и замените на кросс-платформенную.
var testName = "SubmitPaymentForm_EmptyForm_ShouldShowValidationErrors";
...
var result = new TestResult
{
Test = testName,
Url = baseUrl,
Timestamp = DateTime.UtcNow,
ErrorText = "",
ErrorStyle = "",
Success = false
};
...
LogTestResult(result);
У меня есть стойкое ощущение, что все это - лишний шум, которого в тестах не должно быть. У вас xUnit - разве runner reporter (json или на худой конец - самописный) не решает проблему выгрузки результатов тестов в обрабатывабельном виде?
Одни вот уже дозаменялись, кто рискнёт следующий? :)
Нет, конечно. Extension operators - это не "случайно так получилось, что теперь с этим делать?", а фича.
Не работает это, компилятор резолвит
"".IsNullOrEmptyкак method group.Помните анекдот про HR, который выбросил в мусорку половину резюме, даже не взглянув, мол, "а зачем нам неудачники?" Тоже вот несправедливый, но какой-никакой критерий отсева.
+100. Очень жаль, что фичу чёрного списка бросили на полпути. Я всё думаю написать userscript, который бы в фоне загружал статьи, проверял автора и при необходимости скрывал ссылки, но пока что лень, несмотря на то, что вляпываюсь очень часто.
Он там уже лежит :)
О том, что если вы решаете задачу из статьи, вы почти наверняка что-то делаете не так.
Если вам важна разница в производительности между zero-initialized структурами и
SkipLocalsInit, то ваш кейс уже довольно специфичен, а не один из тысяч (вы ведь провели профилирование кода и уверены, что это необходимая оптимизация, верно?).Тогда хешу можно скормить данные и поле за полем, ручками.
Паддинг - это такая implementation-defined штука: сегодня там три байта между полями, завтра компилятор обновился и стало семь. Такие структуры в принципе нельзя шарить между разными платформами. Разве только если любите стрелять себе по ногам. Выкиньте эту плюсовую либу и замените на кросс-платформенную.
А зачем я буду решать это всё делать с неупакованными структурами?
Совершенно необязательно. Во многих языках, включая Rust, ассерты могут не исключаться из релизных сборок.
К слову, стандартный пример minimal api (который про погоду) весит 20 Мб, если включить
PublishTrimmed.Разве кто-то заставляет?
Это не мой минус, я кинул плюсик для баланса :)
Так ведь в документации все есть. Проставляете нужные свойства и
dotnet publish.У меня есть стойкое ощущение, что все это - лишний шум, которого в тестах не должно быть. У вас xUnit - разве runner reporter (json или на худой конец - самописный) не решает проблему выгрузки результатов тестов в обрабатывабельном виде?
Конечно, начиная с .NET 5 можно, то есть уже как пять лет.
Так и C# можно скомпилировать в один независимый бинарник
Какое отношение статья имеет к указанным хабам?
Или установленной раскладки Ильи Бирмана
Автор, пожалуйста, не нужно добавлять хаб .NET только потому, что вы один раз упомянули C#.