The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Релиз языка программирования V 0.4.4, opennews (?), 10-Янв-24, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


39. "Релиз языка программирования V 0.4.4"  +/
Сообщение от Пряник (?), 10-Янв-24, 13:34 
Мне больше понравилась обработка ошибок в ржавом - функция возвращает перечисление, которое результат или ошибка.
Ответить | Правка | Наверх | Cообщить модератору

61. "Релиз языка программирования V 0.4.4"  +1 +/
Сообщение от Аноним (58), 10-Янв-24, 16:17 
Ну так можно и в других языках сделать.
Ответить | Правка | Наверх | Cообщить модератору

86. "Релиз языка программирования V 0.4.4"  +/
Сообщение от Аноним (117), 10-Янв-24, 23:08 
В других так и делают. Ещё в других ЯП обычно можно кинуть исключение, здесь же приходится прокидывать ошибку через кучу ручных if-ов из глубин ада наверх.
Ответить | Правка | Наверх | Cообщить модератору

109. "Релиз языка программирования V 0.4.4"  +1 +/
Сообщение от kafka (?), 12-Янв-24, 06:15 
Кидать исключение - это самый смачный говнокод.
Ответить | Правка | Наверх | Cообщить модератору

131. "Релиз языка программирования V 0.4.4"  +/
Сообщение от Аноним (130), 13-Янв-24, 15:02 
Почему?
Ответить | Правка | Наверх | Cообщить модератору

133. "Релиз языка программирования V 0.4.4"  –1 +/
Сообщение от nekocoder (?), 13-Янв-24, 21:35 
Потому что гладиолус :)
Ну во вторых потому что это медленно.
Так же, это может быть не перехвачено и вылезти когда не надо или приложение просто закроется с непонятным сообщение или без.
Вообще exception говорит о том что произошла чрезвычайная ситуация которой быть не должно - смотря что вы пишете, в играх такие фокусы недопустимы например.
Любители кидать исключения без параметров это про студентов - нашли в коде - уволили/выпороли/посадили на кол - опционально.
Явный возврат ошибки через expected или неопределенное значение через optional или просто кортеж с параметрами - самое удобное для пользователей вашего кода.
Довольно адский случай который я видел - в boost - алгоритм A* возвращал результат через исключение :)
Ответить | Правка | Наверх | Cообщить модератору

95. "Релиз языка программирования V 0.4.4"  +/
Сообщение от Пряник (?), 11-Янв-24, 09:34 
Конечно. Но ни в чужом коде, ни в примерах я такого приёма не замечал.
Ответить | Правка | К родителю #61 | Наверх | Cообщить модератору

101. "Релиз языка программирования V 0.4.4"  +/
Сообщение от Аноним (117), 11-Янв-24, 13:04 
Типичные простые сценарии, например, в c/c++ это ptr или nullptr, value или max<type>() или -1. Это, конечно, всё имеет значение только в строго типизированных ЯП. В общем, мало смотришь кода
Ответить | Правка | Наверх | Cообщить модератору

104. "Релиз языка программирования V 0.4.4"  +/
Сообщение от Пряник (?), 11-Янв-24, 14:17 
Я про использование match case в проверке значения, а не варианты значений.
Ответить | Правка | Наверх | Cообщить модератору

107. "Релиз языка программирования V 0.4.4"  +/
Сообщение от Аноним (117), 11-Янв-24, 16:48 
match-case это обычный if-elif блолк, только в другой форме
Ответить | Правка | Наверх | Cообщить модератору

113. "Релиз языка программирования V 0.4.4"  +/
Сообщение от Пряник (?), 12-Янв-24, 16:03 
Так то оно так, но в питон match case завезли только в 3.10. Видимо это не просто if-elif блок.
Ответить | Правка | Наверх | Cообщить модератору

124. "Релиз языка программирования V 0.4.4"  +/
Сообщение от Аноним (117), 13-Янв-24, 02:49 
Фактически просто и есть. В питон этот хлам завезли дрочеры на функциональщиу, польза от него негативная. Вместо нужно было добавить только простые матчеры для if выражений вида { x in A | B | C }, и то они не особо нужны. Дали хипсто гогнокодерам отличный инструмент писать криптокод. В питон давно тащят бесполезный мусор, например, аннотации. Теперь любой джуниор, начитавшить помоев с рекламками PЕP-ов, простую ф-ю на строк 20 делит на кучу однострочных функций с аннотированными типами, интерфейсами ровно с одной реализацией и ещё раскидывает всё это добро по куче файлов.
Ответить | Правка | Наверх | Cообщить модератору

135. "Релиз языка программирования V 0.4.4"  +/
Сообщение от Пряник (?), 15-Янв-24, 11:50 
Вообще удобно, когда понимаешь что возвращает функция - словарь, список или объект какой-то.
Ответить | Правка | Наверх | Cообщить модератору

94. "Релиз языка программирования V 0.4.4"  +/
Сообщение от Аноним (94), 11-Янв-24, 09:34 
Монада Optional - это сейчас во многих языках
Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

102. "Релиз языка программирования V 0.4.4"  +/
Сообщение от warlock66613 (ok), 11-Янв-24, 13:23 
Optional это не совсем то. Для нормальных ошибок нужна монада Either.
Ответить | Правка | Наверх | Cообщить модератору

122. "Релиз языка программирования V 0.4.4"  +/
Сообщение от nekocoder (?), 12-Янв-24, 22:16 
optional - это когда результат не гарантирован это не про ошибки, например std::expected в С++ 23 - это оно (раньше использовали boost::expected)
Ответить | Правка | К родителю #94 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру