The OpenNET Project / Index page

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



"Релиз языка программирования Rust 1.30"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Второй уровень иерархии тем в форуме реализован через вкладку "Показ ключевых тем".
. "Релиз языка программирования Rust 1.30" +/
Сообщение от Orduemail (ok), 30-Окт-18, 09:15 
>> "Не обращаясь к документации" -- это искусственное ограничение в случае rust'а, поскольку
>> документация генерируется автоматически, и изучение кода идёт именно через документацию.
>> Если ты выкидываешь этот инструмент, и берёшь взамен IDE, которая тебе
>> не находит нужный сорец, то кто тут ССЗБ?
>> Но вопрос был в том, где нечитаемый код. Код Counter'а нечитаемый? Где
>> ссылка на него? Код использующий Counter нечитаем? Да не, читаем. Кристалльно
>> прозрачен и понятен.
> Ну так как, нашли?

И не искал.

> Нет его, опредления этой структуры на уровне обчычного
> кода. Она сгенерирована с помощью атрибута. Или макроса в зависимости от
> используемой версии раста.

Я представляю о чём речь.

> То есть, за место того, чтобы просто кликнуть пару раз в требуемое
> место, чтобы "пощупать" эту структуру, Вам нужно проломиться сквозь слой абстракции
> макроса и предположить (!) что именно он нагенерирует. А затем, основываясь
> на этом предположении писать код.

macroexpand. Используй macroexpand, Luke, если макросы читать не получается.

>> Без макроса ты закончишь тем, что будешь для составления SQL запросов конкатенировать строчки вручную, а потом с пылающим пердаком закрывать SQL-инъекции на работающем сервере.
> Простые вещи легко реализуются на чём угодно. Хоть на макросах, хоть IQueryable.
> Сложные запросы в любом случае будете писать руками

Вопрос в том как я буду их писать, буду ли я вручную экранировать строки, или не экранировать их. Буду ли я вручную разбираться ответом и преобразовывать типы как надо. Или всё это за меня сделает макрос, да ещё и SQL-синтасис проверит.

>> И иногда ты сталкиваешься с ситуацией, когда средства языка не позволяют тебе избежать копипастов десяти строк кода в два десятка мест. И вот тогда ты понимаешь, что либо ты скопипастишь эти десять строк, а потом когда что-то изменится, ты будешь править каждый копипаст
> Иногда копипаст - это не так уж и плохо по сравнениею с
> сложно устроенным "общим" механизмом, который часто модифицируют. Вообще, ищите золотую
> середину и всё у вас будет хорошо

Ой, не надо мне тут советы давать. Я ходил по граблям макросов в lisp'е, я делал обе ошибки -- писал макросы, когда их не надо писать, и не писал тогда, когда их надо писать. Если речь идёт о крупном проекте, то просто не позволяйте писать макросы рядовым разработчикам. Для них это должно быть запретно. Нужду в макросе должен увидеть умудрённый опытом разработчик, и он же должен написать макрос. Вот и всё.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Релиз языка программирования Rust 1.30, opennews, 26-Окт-18, 11:14  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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