Должно быть осознанно.

Feb 06, 2023 00:22

Код, который моему коллеге пришлось поотлаживать.

using var writer = new StreamWriter(stream);
writer.WriteLine("text");
using var other = new StreamReader(new MemoryStream(stream.ToArray()));

Это пример того, что в C# опциональность {} у using-оператора - не просто убирание «лишних» символов, а опция, применение которой должно быть осознанно. Фигурные скобки явно задают время жизни объекта, давая возможность минимизировать его. Нельзя просто выставить в настройках стиля кода «всегда без фигурных скобок». Собственно, что наша команда и сделала у решарпера.

А да. Проблема в коде выше - никто не делает flush объекту stream. А вот явно поставленные {} на минимальный интервал не допустили бы жука.

cadwise, csharp, жуки

Previous post Next post
Up