Re[6]: Rust vs C++ 17
От: LaPerouse  
Дата: 11.01.16 14:18
Оценка: :)
Здравствуйте, AlexRK, Вы писали:

ARK>Здравствуйте, LaPerouse, Вы писали:


ARK>>>Но есть ли нормальная замена union-типам? Все делать на классах?


LP>>А им требуется замена? По мне, это в чистом виде антипаттерн, к которому следует относится с большой осторожностью.

ARK>Ну, например, возврат из функции — ошибки либо нормального результата.

Возвращать код ошибки — это прошлый век. Для ошибок есть исключения.

LP>>Добавил одно поле — и надо править еще N классов и модулей, где этот тип используется, такого ада даже в языке С двадцать лет назад в эпоху расцвета процедурного программирования не было.

ARK>Это как раз преимущество — не забудешь, где еще не исправил.

foo (Foo val1 val2) = val1 + val2

Добавляем в Foo третье поле val3. Конкретно в функции foo это поле НЕ используется. Но мы должны ее изменить

foo (Foo val1 val2 val3) = val1 + val2

И таких функций по всему коду — море, в разных модулях и классах.
Социализм — это власть трудящихся и централизованная плановая экономика.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.