172 похожих чатов

А давайте я сразу сюда вкину вторую тему И начем с

вопрос: правильно ли, что все функции должны называть в snake_case, а структуры в CameCase?

43 ответов

122 просмотра
Давид-Шекунц Автор вопроса
К|/|pи/\/\ 6е3yглbIи
screenshot

Разве это не Hungarian notation но на уровне именований самого языка?

Нет, никто не мешает называть как угодно что угодно

Давид-Шекунц Автор вопроса
Давид Шекунц
Разве это не Hungarian notation но на уровне имено...

Что я имею ввиду: в go у тебя все PascalCase если экспортиться и camelCase если нет То есть, чтобы сделать Hungarian notation тебе надо явно добавить в название тип (например SomeInt) В Rust получается, что если я вижу snake_case, то это функция / метод, а если PascalCase, то это структура Понимаете о чем я?

Давид-Шекунц Автор вопроса
К|/|pи/\/\ 6е3yглbIи
screenshot

Бесит что есть варнинг на non_snake_case имя крейта

Давид-Шекунц Автор вопроса
Давид Шекунц
Разве это не Hungarian notation но на уровне имено...

И основной вопрос в чем: Hungarian notation читается плохой практикой (и я с этим согласен) и считается уже очень очень давно Почему при этом Rust, создававшийся после языков где был Hungarian notation решил делать такой синтаксис? Может это не "Hungarian notation" или же "Hungarian notation" это нормально?

Давид-Шекунц Автор вопроса
Пух
#[allow(non_snake_case)]

Но да, я просто "стандартный подход"

Давид Шекунц
Что я имею ввиду: в go у тебя все PascalCase если ...

ну коде, что следует гайдлайнам, все будет как в гайдлайнах на удивление большинство кода действительно следует гайдлайнам, так что если будет snake_case то это 100% функция/метод/макрос PascalCase - кастомные типы / любые структуры или перечисления (ну и на крайняк union)

Давид Шекунц
И основной вопрос в чем: Hungarian notation читает...

Если есть причины, по которым это плохо, вкидуй

Давид Шекунц
И основной вопрос в чем: Hungarian notation читает...

для меня венгерская нотация это вообще что то на уровне trait ISomething (типа интерфейсов в джаве), в остальном это уже зависит от компилятора в данном случае компилятор позволяет убрать "ограничение" на следование гайдлайнам главное, что компилятор по умолчанию заставляет писать на основе уже придуманных гайдлайнов - остальное уже чаще всего не нужно

Давид-Шекунц Автор вопроса
Пух
Если есть причины, по которым это плохо, вкидуй

Самый ярый пример I перед интерфейсом Подробно раскрывал вот здесь

Давид-Шекунц Автор вопроса
Пух
И это всё, кажется?

Я имею ввиду сам факт, что функции / методы и структуры деляться по неймингу подходит под понятие венгерской нотации: "тип описывается названием"

Давид-Шекунц Автор вопроса
К|/|pи/\/\ 6е3yглbIи
ну коде, что следует гайдлайнам, все будет как в г...

Вот тут согласен, если 100% кода такие, то венгерская нотация не работает Кейс закрыт

Давид Шекунц
Я имею ввиду сам факт, что функции / методы и стру...

в среднем это называется кодстайл, а не венгерская нотация

Давид-Шекунц Автор вопроса
Пух
#[allow(non_snake_case)]

А вот это реально работает? Можно так разрешить на уровне кода писать в другом стиле?

Давид Шекунц
Он ругается если называю по-другому

можешь отключить любую ругань по стилям #![allow(nonstandard_style)]

Le Chat
А гошка твоя так может? 😉

Ну там совсем копец с этим, ГОлаг

Давид-Шекунц Автор вопроса
Пух
в среднем это называется кодстайл, а не венгерская...

Да, но я не понимаю в чем логика разделения стиля кода между функциями и структурами В итоговом коде получается что используются всевозможные варианты написания Красота кода – намаловажный параметр и множество вариантов написания ее портят

Давид Шекунц
А вот это реально работает? Можно так разрешить на...

раст позволяет тебе сделать с ним что угодно (ну практически), но только если ты это сам явно укажешь таким издевательством на уровне всего крейта не занимаются, обычно над блоком кода максимум по умолчанию и так хорошие и читаемые линтинги, так что это очень малая доля ситуаций (ну или вот как пример выше, если нужно сделать из синтаксиса кашу https://github.com/gravl4/ADC_UDP_LOGGER/tree/main/src)

Давид-Шекунц Автор вопроса
Пух
да, в lib.rs напиши и норм

А этим кто-то пользуется?

Давид Шекунц
Да, но я не понимаю в чем логика разделения стиля ...

чтобы было понятно по имени какая это конкретно сущность.

Давид-Шекунц Автор вопроса
Le Chat
А гошка твоя так может? 😉

Так вот суть в том, что слава богу нет Так любой программист просто отключает правила форматера и какой смысл его добавлять... Ребята, я знаю, что вы сейчас начнете говорить: "та не прав" – но вам не кажется, что это реально странно? Зачем это давать разработчикам? Какая от этого польза?

К|/|pи/\/\ 6е3yглbIи
раст позволяет тебе сделать с ним что угодно (ну п...

таким бредом нормальные люди не страдают)) это просто пример каши "потому что захотелось" на деле весь код следует гайдлайнам на уровне стандарта компилятора, и этого вполне хватает

Давид-Шекунц Автор вопроса
Давид Шекунц
Так вот суть в том, что слава богу нет Так любой ...

Объясню, это чисто путь JS: "Дадим все, а дальше они разберутся" – но люди в итоге не разбираются и у нас в итоге куча гавнокода в котором очень тяжело жить (и это причина почемя я не люблю JS)

Давид Шекунц
Объясню, это чисто путь JS: "Дадим все, а дальше о...

Если ты запретишь вкусовщину в языке то у тебя просто появится конкурент и не один

Давид Шекунц
Так вот суть в том, что слава богу нет Так любой ...

писать на JS != писать на Rust и отношение к языкам тоже, скажем так, разное я бы сказал, что JS на уровне семантики позволяет относиться к синтаксису также наплевательски, как к памяти ну в общем я думаю мой посыл понят)))

Давид-Шекунц Автор вопроса
Пух
Была бы польза от запретов всего на свете

Она есть и ты знаешь о каком я языке) Как минимум потому что я хочу скорее найти больше аргументов за Rust, а не наоборот

Давид Шекунц
Она есть и ты знаешь о каком я языке) Как минимум...

оке, в расте этого запрета нет. Какие минусы мы получили?

Давид-Шекунц Автор вопроса
О. К
Если ты запретишь вкусовщину в языке то у тебя про...

Появятся конкуренты, которые скажут: "Вот там вам дали эту свободу, из-за нее вы страдаете потому что куча людей начали ей слишком сильно пользоваться, а у нас этого нет, значит и страданий этих не будет" – и это будет реальным преимуществом

Давид Шекунц
Появятся конкуренты, которые скажут: "Вот там вам ...

"Вот у вас отобрали эту свободу, из-за этого вы страдаете, потому что вам она нужна" и это тоже будет преимущество

Всм правильно ли? Так принято

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта