Software Development Advice
November 19, 2021
Иммутабельность
Старайтесь максимально использовать иммутабельные объекты и коллекции при разработке.
Состояние иммутабельного объекта не может быть изменено после его создания. Использование таких объектов позволит сделать логику вашего кода более предсказуемой и очевидной.
В C# для работы с иммутабельными коллекциями есть чудесная библиотека System.Collections.Immutable.
Также, c девятой версии C# появилась поддержка ключевого слова init, которое позволяет сделать свойство класса изменяемы только один раз - во время создания объекта.
Ну и не забываем про модификатор readonly для внутренних полей класса.
Если же говорить про F#, то в этом языке все переменны иммутабельны по умолчанию, что дополнительно дисциплинирует программиста.