Software Development Advice
November 19, 2021

Иммутабельность

Старайтесь максимально использовать иммутабельные объекты и коллекции при разработке.

Состояние иммутабельного объекта не может быть изменено после его создания. Использование таких объектов позволит сделать логику вашего кода более предсказуемой и очевидной.

В C# для работы с иммутабельными коллекциями есть чудесная библиотека System.Collections.Immutable.

Также, c девятой версии C# появилась поддержка ключевого слова init, которое позволяет сделать свойство класса изменяемы только один раз - во время создания объекта.

Ну и не забываем про модификатор readonly для внутренних полей класса.

Если же говорить про F#, то в этом языке все переменны иммутабельны по умолчанию, что дополнительно дисциплинирует программиста.