Чистый код - для каждого языка программирования он свой

preview_player
Показать описание
Вот интересно, если разные способы оформления кода, например в СИ++ я пишу так - myFunction в С# это выглядело бы так MyFunction()

Например, enum EMyEnum с буквой E начинать MY_CONST константы с большой буквы и через нижнее подчеркивание

1.1) Вот хотел рекомендации по такому вот оформлению кода спросить?

1.2) А можно ли писать одинаково и в СИ++ и в СИ ШАРП. Ну формально можно называть функции как угодно,не запрещено. Но ведь почему то вот куча кода на си++ начинает функции с мальенкой буквы, а вот в СИ ШАРПном коде функции с большой буквы. Мелочь конечно. Но вот хотел разобраться. Откуда такая разная методика в наименовании? Какая то методология или как?

Грамотно ли было бы фигачить одним стилем грубо говоря на оба этих языка.

1.3) И главный прародитель вопроса. Почему в СИ++ функции приянто с малеьнкой буквы писать а в СИ ШАРП с большой?

1.4) советы по СИ++ и СИ ШАРП оформлению кода хотел спросить.

1.5) некоторые пишут класс так CMyClass букву С приписывают к имени. Я так не делаю. Вот как вы думаете как надо?

1.6) Enum видел типа как большими буквами MYENUM, сам так тоже писал ранее, больше так не делаю.

1.7) Это что вспомнил вот так сходу. Примеры неплохого оформления кода по СИ++ и СИ ШАРП. с пояснением. что вот такую конструкцию так то называть, а такое по другому.... Спасибо за внимание!

Рекомендации по теме
Комментарии
Автор

Если ты единственный прогер в компании, то на стиль можно наплевать и делать как тебе удобно. Если же в компании работает команда прогеров, то лид пишет док о правилах стиля в команде! И тогда через пару недель команда привыкает и работает быстро и эффективно. Главное, чтобы лид был опытным и знал свое дело.)

mihanikgames
Автор

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

IgorGallemar
Автор

Так и в javascript можно писать и не ставить точку с запятой в конце строки, многие так пишут. Многие не пишут, но потом форматтер сам их расставляет, а в некоторых стайлгадах прямо требуется не писать. В js есть конкурирующие стайлгады (airbnb, google), которые не похожи друг на друга.

DreamingDolphing
Автор

Основной язык, логика приложения и весь backend на C# - функции с большой буквы, как и в языке.
Нужно было добавить front, попутно выучив с нуля JavaScript - в итоге довольно быстро пришёл к тому, чтобы писать все функции с маленькой буквы, даже те, которые переносил с бэка уже написанные на С#.
Потому что разрыв единообразия ощущается мгновенно и очень сильно, и лучше когда всё в одном стиле).

Estrav.Krastvich
Автор

Бывало такое, когда писал свой проект, что вроде всё пишешь в одном стиле, и в один момент начинаешь реализовывать какую-то очень необычную и отличную по структуре кода фичу, и вот тут оказывается что того стиля которого я придерживался не достаточно и некоторые вещи становятся запутанными (примерно так же все эти стили и меняются). С C# есть очень простой пример со стилями - стиль разработчика C# от стиля разработчика C# под Unity отличается, пускай и не сильно, а в некоторых местах и у некоторых команд даже походит на стиль написания кода в Java

nikolaynakorkeshko
Автор

downloadFileWithURL в objc бы метод назывался)

pafnuteus
Автор

На каждом языке нужно писать согласно соглашениям этого языка принятым и действующим на данный момент.

Мистер-жы
Автор

в Java отлично сформировавшийся стиль, т.к. максимально приближен к речи. С большой буквы только имена собственные(имена классов), методы и переменные - просто глаголы и сущ в контексте - всегда с маленькой. Никаких префиксов и прочего мусора - минимально возможная длина именования, при которой будет интуитивно понятен смысл содержания и не нарушена логика интуитивного поиска по этому именованию для подавляющего большинства разработчиков. С#-мастера берите пример) Вот отличный пост - писали для JS, но актуален для любого ЯП:

AlexSmile-yx
Автор

В 1С присваивал своей переменной значение в определенном случае, а имя переменной совпало с именем данных справочника, и я затирал иногда данные, предупреждений IDE не было. Когда через месяц выяснили эту ошибку, мне пришлось сидеть с личными делами и исправлять данные. С тех пор пишу с префиксами переменные, л_ - локальная, п_ - параметр функции, м_ - переменная формы и т.п. (из какой-то статьи почерпнул). Хотя сами 1С-ки так не делают. Я нарушаю их стиль, зато случайно не затираю данные. Эти префиксы еще логические ошибки иногда помогают не допускать.

rafikov_aleksandr
Автор

Писать нужно в одном стиле)) и стиль этот описан в PEP8

xmdnx
Автор

Приятно слушать грамотного и опытного разработчика, но все таки хотелось видеть короткие 10 минутные видео в формате "Best Practice", а не разные истории все и обо всем.

warmybo
Автор

Капсом - константа. С большой буквы - класс. Метод/фукнция - с маленькой буквы. За венгерскую нотацию и префиксы - бить по рукам.

СергейПресняков-ор
Автор

Как то я работал на одного крупного заказчика, так у него были свои стандарты оформления кода в SQL и PL/SQL. И ты мог не пройти кодревью, если их не соблюдал. Поначалу мне было трудно, но потом я увидел плюсы такого правила. Код при этом выглядел монолитным и было очень легко кусок одного SQL вставить в другой, так как алиасы таблиц были стандартизированы. И ты уже видя кусок кода, по алиасу мог понять, что это за таблица.

alexgubin
Автор

Подходим к логичному и важному вопросу, а как поместить несколько стилей языков программирования в одну голову?
А если голова одна и маленькая, а языков много?
Насколько стильно будет приделать по одной голове на каждый язык программирования, или мож по правилам хорошего тона, докупить оперативки и ссд к первой?
Теперь у меня вопросов еще больше)

---xowv
Автор

Михаил, здравствуйте, спасибо, очень интересное видео! А Вы на Java писали?)

vadim-vadim
Автор

3:20, а я так очень не люблю читать код, в котором поля класса именами никак не отличаются от локальных переменных в методе.

То что венгерская нотация лишнее - тоже согласен, тк иде подскажет тип, когда наведешь курсор. А вот поля вроде как не подскажет, можно конечно жмакнуть "перейти к определению", но это долго. Ну еще да, обычно ide выделяют разным цветом локалки и мемберы. Но с этим проблемка - иногда иде тормозит и не сразу подсвечивает, или подсветка бывает пропадает, пусть на время, но подбешивает когда пропадет, а m_ или _ никуда не пропадет. Ну и еще варик - иногда код открываешь не в ide а в редакторе. Редакторы умеют в подсветку, но не умеют определить мембер или нет в си++ например, когда мемберы определяются в одном файле а методы в другом.

IlyaLesnoy
Автор

В c# в приватных добавляю _ и с маленькой буквы пишу поля, так проще отделить локальные переменные от полей. Допустим, нравится писать в расте и там в этом нет смысла - к любым полям нужно обращаться через self. Это круто)

alexey
Автор

Вот если говорить о С++, то писать на нем в с# стиле вполне нормально. Все равно у каждой библиотеки свой стиль оформления. К примеру очень странно называть классы с маленькой буквы, типа std:string std:vector. Надо же как-то методы и функции отличать от классов и структур. А так же названий переменных(которые, в большинстве случаев, тоже с маленькой)

daniilmitrofanov
Автор

7:05
Ещё говорят В чужой монастырь со своим уставом не приходят

loplop
Автор

if {
} else {
}

или
if
{
} else
{
}
?

pafnuteus