Публикации по теме 'immutability'


Почему мы НИКОГДА НЕ МУТАТИРУЕМ СОСТОЯНИЕ в React Javascript
Мы всегда соглашались не изменять напрямую состояние в React, будь то локальное состояние в компонентах или состояние редукции в отношении редукторов. Задумывались ли вы, почему это так? В этой статье мы попытаемся улучшить наши знания о том, почему мутация состояния является табу, если вы не хотите, чтобы код содержал ошибки в продакшене. Прежде всего, давайте разберемся с некоторыми основными концепциями, касающимися типов данных Javascript. Примитивные типы данных: В..

Почему и как строка неизменяема в C #
Строки и неизменность В мире программирования строка - это массив символов System.Char, которые вместе представляют текст. В языке программирования C # вы можете объявить строку и распечатать ее значение следующим образом: string str = "Hello World"; Console.WriteLine(str); //This will print out "Hello World" to the console. Когда вы создаете строку, она неизменяемая . Это означает, что он доступен только для чтения. Когда что-то является неизменным или доступно только для..

Неизменяемые структуры данных — Деревья RRB (часть 1)
О функциональном программировании и неизменяемости О, каким простым был мир раньше, у нас были одни процессоры в компьютере, интернет не породил YouTube, Facebook или Instagram, а программное обеспечение было простым из-за ограничений железа. Увы, это не могло длиться вечно! Примерно в 2019 году программы и программное обеспечение проникли во все, от наручных часов до беспилотных автомобилей. Аппаратные ограничения были преодолены с помощью нескольких процессоров, и наша..

Функциональное программирование : Избегайте общего состояния
Что такое общее состояние? Общее состояние — это переменная, объект, свойство объекта или пространства памяти, к которым можно получить доступ из более чем одной функции. В чем проблема с общим состоянием? Случайное изменение значения переменной, которая является общей для всего кода, может привести к потенциальным и сложным ошибкам. Такие ошибки трудно отлаживать и устранять. См. приведенный ниже пример Да, это просто, но дорого Я знаю, что легко написать общее..

Использование Immer с React: простые решения для неизменяемых состояний
Почему Immer хорошо работает для неизменяемости состояния React? В React использование неизменяемого состояния позволяет быстро и дешево сравнить дерево состояний до и после изменения. В результате каждый компонент решает, выполнять ли его повторную визуализацию перед выполнением каких-либо дорогостоящих операций DOM. И я надеюсь, вы это уже знаете; JavaScript изменчив, и мы должны реализовать неизменяемость самостоятельно. Популярные библиотеки управления состоянием, такие как..

Вопросы по теме 'immutability'

Реализовать интерфейс объекта только для чтения (неизменяемый) в C #
Моя цель - убедиться, что в большинстве сценариев объекты используются через «интерфейс только для чтения», который является подмножеством полного интерфейса. Например, если бы я использовал C ++, я бы просто вернул объект const . В C #, если...
4790 просмотров

Неизменяемость строк в Java
Рассмотрим следующий пример. String str = new String(); str = "Hello"; System.out.println(str); //Prints Hello str = "Help!"; System.out.println(str); //Prints Help! Теперь в Java объекты String неизменяемы. Тогда почему объекту str...
97457 просмотров
schedule 24.03.2024

Не объявлять изменяемые ссылочные типы только для чтения - почему бы и нет?
Я читал этот вопрос и несколько других ответов, и хотя я понимаю разницу между изменением ссылки и изменением состояния текущего экземпляра, я не уверен, почему это означает, что я не должен отмечать его только для чтения. Это потому, что пометка...
2420 просмотров
schedule 04.12.2023

Почему неизменяемые методы HashMap в Scala возвращают карту?
У меня проблемы с использованием метода обновления scala.collection.immutable.HashMap. Я не вижу причины, по которой он возвращает карту вместо HashMap. Как получить новый HashMap с добавленной новой парой ключ-значение?
2044 просмотров
schedule 01.03.2024

Почему числовые типы С# неизменяемы?
Почему int s и double s неизменяемы? Какова цель возврата нового объекта каждый раз, когда вы хотите изменить значение? Причина, по которой я спрашиваю, заключается в том, что я создаю класс: BoundedInt , у которого есть значение и верхняя и...
7935 просмотров
schedule 06.11.2023

Неизменяемый объект с переменной-членом ArrayList — почему эту переменную можно изменить?
У меня есть один класс с различными переменными-членами. Есть конструктор и есть геттер-методы, но нет сеттер-методов. На самом деле этот объект должен быть неизменяемым. public class Example { private ArrayList<String> list; }...
38737 просмотров

Какую роль играет неизменяемость строк в объяснении ссылок на строки для разработчиков?
В той или иной форме я часто сталкиваюсь со следующим вопросом (заданным здесь в псевдокоде): String myString = "Hello" someObject.stringProperty = myString myString = "World" Почему someObject.stringProperty теперь не равно «World»?...
216 просмотров

Свойство неизменности в java
Я знаю, что когда дело доходит до передачи объектов в java, ссылка на объект передается как значение. Таким образом, любые изменения, которые вы вносите в этот объект, также отражаются в исходном объекте. Чтобы избежать этого, мы используем свойство...
3115 просмотров
schedule 14.12.2023

Неизменяемые объекты и неизменяемые коллекции
С неизменяемым объектом, где уместно обернуть содержащуюся коллекцию как неизменяемую? Я вижу 3 варианта: На фабрике неизменяемых объектов: public class ImmutableFactory { public Immutable build(){ List<Integer> values =...
2971 просмотров

Изменяемые объекты в хеш-коллекциях в Java?
Возможный дубликат: Являются ли изменяемые ключи хэш-карты опасная практика? Что произойдет, если изменяемые объекты в хеш-таблице будут изменены без использования каких-либо API-интерфейсов хэш-карты Изменяется ли объект в hashmap?...
55 просмотров
schedule 06.12.2022

Является ли строка get/set потокобезопасной?
Допустим, у меня есть следующее, public class Foo{ private String bar; public String getBar(){ return bar; } public void setBar(String bar){ this.bar = bar; } } Являются ли эти методы автоматически...
14511 просмотров
schedule 02.10.2022

Должен ли я генерировать исключение при попытке мутации неизменяемого класса? Если да, то какое исключение?
Я хочу предупредить разработчика, когда он попытается изменить неизменяемый объект. Неизменяемый объект на самом деле является расширением изменяемого объекта и переопределяет сеттеры указанного объекта, чтобы сделать его неизменяемым. Изменяемый...
2672 просмотров
schedule 15.10.2022

SML-функциональное программирование
Я хочу написать код в SML, который имитирует код C++, например i=i+1; or i++ Короче говоря, я хочу подсчитать, сколько раз выполняется цикл (рекурсия), когда оператор if верен. Разъясняя это дальше. Мой проблемный код выглядит...
160 просмотров

Вызывает ли использование текстовых свойств утечку памяти?
Если строка является неизменной, а свойство Text текстового поля является строковым типом, не приведет ли это к массивной утечке памяти, если мое приложение внесет много изменений в текстовое поле? Как лучше всего работать с часто обновляемыми...
54 просмотров
schedule 22.04.2024

Изменчивый android.os.Environment.DIRECTORY_WHATEVER?
Смотрите, в мастере: https://github.com/android/platform_frameworks_base/blob/master/core/java/android/os/Environment.java#L419 Почему они изменчивы? Что это означает? Какой вариант использования?
33 просмотров
schedule 26.11.2022

При манипулировании неизменяемыми структурами данных, в чем разница между помощником Clojure и линзами Haskell?
Мне нужно манипулировать и изменять глубоко вложенные неизменяемые коллекции (карты и списки), и я хотел бы лучше понять различные подходы. Эти две библиотеки решают более или менее одну и ту же проблему, верно? Чем они отличаются, для каких типов...
1877 просмотров

Почему целые числа неизменяемы в Java?
Я знаю, что целые числа неизменяемы в Java. Но почему он разработан таким образом? Я просмотрел другие ответы, прежде чем задать этот вопрос: Является ли Integer Immutable i++ все еще работает с неизменяемым целым числом в Java?...
13955 просмотров
schedule 18.05.2024

Являются ли Python пустыми неизменяемыми синглтонами?
Являются ли Python пустыми неизменяемыми синглтонами? Если вы просмотрите реализацию встроенных типов в CPython, вы найдете комментарии ко всем неизменяемым встроенным объектам о том, что их пустые версии являются синглтонами. Это имело бы большой...
595 просмотров
schedule 15.02.2024

Панды: изменить определенный уровень мультииндекса
У меня есть кадр данных с Multiindex, и я хотел бы изменить один конкретный уровень Multiindex. Например, первый уровень может быть строкой, и я могу удалить пробелы с этого уровня индекса: df.index.levels[1] = [x.replace(' ', '') for x in...
33392 просмотров
schedule 28.11.2023

Способы сообщить, что API возвращает неизменяемую/неизменяемую коллекцию
Помимо документирования (очевидно, это также должно быть задокументировано), использования специального типа возвращаемого значения (я опасаюсь ограничивать себя ImmutableX) или предоставления пользователю информации во время выполнения, существует ли...
287 просмотров
schedule 05.12.2023