реклама на сайте
подробности

 
 
26 страниц V  « < 4 5 6 7 8 > »   
Reply to this topicStart new topic
> Библиотеки для STM32
Kabdim
сообщение Apr 3 2017, 09:41
Сообщение #76


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



+1 за гугльстайл. Самый вменяемый стайлгайд на данный момент. Для любителей варианта "от создатаелей..." даже Страуструп написал тяжеловесный толмуд. А вот придумывать своё в 17 году - это жесть, ей богу.
Go to the top of the page
 
+Quote Post
juvf
сообщение Apr 3 2017, 10:34
Сообщение #77


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Цитата(Kabdim @ Apr 3 2017, 14:41) *
+1 за гугльстайл. Самый вменяемый стайлгайд на данный момент.

Цитата
string table_name; // OK - uses underscore.
string tablename; // OK - all lowercase.

string tableName; // Bad - mixed case.


где уж самый вменяемый? tableName - читабельно. table_name - читабельно. tablename - не читабельно. tableName - такой стиль часто встречал. Например Qt так написан. Например переменная
bool QGuiApplication::quitOnLastWindowClosed, в гуглсайле будет так quitonlastwindowclosed - это плохо читаемо. имхо.

Go to the top of the page
 
+Quote Post
Forger
сообщение Apr 3 2017, 12:37
Сообщение #78


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(juvf @ Apr 3 2017, 13:34) *
quitonlastwindowclosed - это плохо читаемо

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


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
Kabdim
сообщение Apr 3 2017, 12:58
Сообщение #79


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



Цитата(juvf @ Apr 3 2017, 13:34) *
tablename - не читабельно

Как по мне так вполне читабельно, особенно если это не просто два слова, а постоянно используемые в такой связке два слова. Рекомендаций называть переменную предложением, а потом записывать её имя без подчеркиваний там нет.

А по поводу вашего примера: bool QGuiApplication::quitOnLastWindowClosed - не переменная, а property. В гугльстайле вы модификаторы property можете называть как переменную, но это не требуется. Т.е. когда имя property - предложение, очевидно её удобней называть Camal case'ом, что стайл вполне позволяет.
Go to the top of the page
 
+Quote Post
Forger
сообщение Apr 3 2017, 13:44
Сообщение #80


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Kabdim @ Apr 3 2017, 15:58) *
Как по мне так вполне читабельно, особенно если это не просто два слова, а постоянно используемые в такой связке два слова.

Полагаю, что если жить только с гуглекодом и изучать/пользовать/читать только гуглепроеты с утра до вечера, то постепенно привыкаешь и подсаживаешься rolleyes.gif
Однако, если пройдет какое-то время (перерыв), то придется заново вкуривать в этот код, потратив некоторое время на повторное привыкание.

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


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
Aaron
сообщение Apr 3 2017, 13:51
Сообщение #81


Местный
***

Группа: Свой
Сообщений: 243
Регистрация: 5-10-06
Из: Зеленоград
Пользователь №: 21 007



К чему холивар, Kabdim? Главное не инструмент (коих много), а цель - достичь переносимости и поддерживаемости кода в команде. Если тебе инструмент не подходит - ты берёшь другой, или делаешь удобный, под себя.
Цитата
А вот придумывать своё в 17 году - это жесть, ей богу.

В чём именно жесть? Скомпилировать несколько трудов, взять из них лучшее, вычеркнуть неудачное и лишнее, скомпоновать - это здорово!
Между прочим, разработчики крупных проектов не стесняются внедрять свои собственные правила, поищите JPL C Coding Standard, CERN C++ Coding Standard
ГуглоСтайл как по мне, не совсем торт. Аналогично как и КьютСтайл. Выше уже высказались.
Go to the top of the page
 
+Quote Post
Kabdim
сообщение Apr 3 2017, 15:39
Сообщение #82


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



Извиняюсь, если мои посты вызвали ощущение холивара, его там нет.
Мой поинт в том что пользы от унификации для большинства команд и проектов больше чем от кастомизации. Т.е. если взять популярный codestyle можно во-первых не набивать свои шишки на неочевидных вещах, во-вторых читать сторонний код в этом codestyle как свой/вносить правки не перестраивая свой мозг лишний раз. А различных крупных codestyle'ов много, можно выбрать то что ближе.
Крупные проекты очевидно являются исключением, т.к. их крупность позволяет авторам таких проектов создать тонко настроенные инструменты под свои задачи. И при этом затраты на разработку и переучивание программистов будут ниже чем польза.
Go to the top of the page
 
+Quote Post
Forger
сообщение Apr 3 2017, 15:44
Сообщение #83


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Kabdim @ Apr 3 2017, 18:39) *
И при этом затраты на разработку и переучивание программистов будут ниже чем польза.

Затраты на переучивание? Не смешите ))) Если программер не умеет читать чужой код, то его бесполезно переучивать smile3046.gif

Дело тут в другом - крайне затратно вынуждать опытного программиста писать и отлаживать свой код в стиле чужого кривого кода, к тому же далеко не каждый профи на это подпишется.


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
Kabdim
сообщение Apr 3 2017, 15:51
Сообщение #84


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



Цитата(Forger @ Apr 3 2017, 18:44) *
Затраты на переучивание? Не смешите ))) Если программер не умеет читать чужой код, то его бесполезно переучивать

Выходит codestyle вообще не нужен?
Цитата(Forger @ Apr 3 2017, 18:44) *
Дело тут в другом - крайне затратно вынуждать опытного программиста писать и отлаживать свой код в стиле чужого кривого кода, к тому же далеко не каждый профи на это подпишется.

Не понял, вы другими словами повторил то что я сказал, но при этом возразили. sm.gif
Go to the top of the page
 
+Quote Post
Forger
сообщение Apr 3 2017, 15:58
Сообщение #85


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Kabdim @ Apr 3 2017, 18:51) *
Выходит codestyle вообще не нужен?

Конечно, дисциплина в коде и документации нужна!
Но только в том случае, если она ориентирована под максимальное кол-во народу, а не под уникальных мега-ботанов, которые сходу способны читать такие названия правильно:
Код
quitonlastwindowclosed
sm.gif

Цитата
Не понял, вы другими словами повторил то что я сказал, но при этом возразили. sm.gif

Повторюсь: "крайне затратно вынуждать опытного программиста писать и отлаживать свой код в стиле чужого кривого кода".
Под словом "кривой" я подразумеваю код, реализованный в "кривом" стиле, который выдуман "с потолка", в стиле "изобретаем велосипед".


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
Kabdim
сообщение Apr 3 2017, 16:00
Сообщение #86


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



Цитата(Forger @ Apr 3 2017, 18:58) *
Нужен, если он создан под максимальное кол-во народу, а не под уникальных мега-ботанов sm.gif

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

Цитата(Forger @ Apr 3 2017, 18:58) *
Повторюсь: "крайне затратно вынуждать опытного программиста писать и отлаживать свой код в стиле чужого кривого кода".
Под словом "кривой" я подразумеваю код, реализованный в "кривом" стиле, который выдуман "с потолка", в стиле "изобретаем велосипед".

Чем публичней и распространенней стандарт тем меньше он кривой? И наоборот чем уже сфера пользователей тем он как минимум шероховатый.
Go to the top of the page
 
+Quote Post
Forger
сообщение Apr 3 2017, 16:04
Сообщение #87


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Kabdim @ Apr 3 2017, 19:00) *
Чем публичней и распространенней стандарт тем меньше он кривой? И наоборот чем уже сфера пользователей тем он как минимум шероховатый.

Все так, это - эволюция (извиняюсь за громкое слово).
Кривой стиль и соответственно говно-код не способны эволюционировать нормально.

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

Но это все же пустая дискуссия, все одно каждый останется при своем мнении и при своем стиле sm.gif


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
juvf
сообщение Apr 4 2017, 05:31
Сообщение #88


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Цитата(Kabdim @ Apr 3 2017, 17:58) *
А по поводу вашего примера: bool QGuiApplication::quitOnLastWindowClosed - не переменная, а property.
А проперти - это не переменная? в с++ вообще нет проперти. проперти - это уже смысловое значение переменной или константы.

Код
Q_PROPERTY([b]bool quitOnLastWindowClosed[/b]  READ quitOnLastWindowClosed WRITE setQuitOnLastWindowClosed)
вижу тип переменной bool, имя переменной quitOnLastWindowClosed. может в с++ появилось что-то новое, появились проперти.... заглянул в ассистант, глянул что такое PROPERTY
Код
Q_PROPERTY(type name.....
ан нет... тип и имя переменной.

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

ps в довершении.... в QtCreator, и позже в Eclipse, есть автодополнение по камел кейсу. назвал переменную quitOnLastWindowClosed, в коде набираешь qol (или qOL) автодополнение предлагает все переменные начинающиеся на q и имеющие в имени большие буквы O и L. в итоге будет предложены все переменные и методы... с вероятностью в 100% будет предложена переменная quitOnLastWindowClosed (или достаточно будет набрать qO). у QString набираешь tss - автодополнение делает toStdString. Набираешь gp - выдает getPoint и getPosition. tn - выскочит tableName Т.е. камел кэйс дает подсказку для автодополнения. Это очень удобно в написании.
Go to the top of the page
 
+Quote Post
Kabdim
сообщение Apr 4 2017, 07:22
Сообщение #89


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



Цитата(Forger @ Apr 3 2017, 19:04) *
Но это все же пустая дискуссия, все одно каждый останется при своем мнении и при своем стиле sm.gif

Мнение, то у нас общее - стиль нужен, а вот вкусы и правда различаются. sm.gif
Цитата(juvf @ Apr 4 2017, 08:31) *
А проперти - это не переменная?

Нет, у проперти может вообще не быть представления в виде закрытой переменной.
Цитата(juvf @ Apr 4 2017, 08:31) *
в с++ вообще нет проперти.

А в QT из которого выдран пример - есть.
Цитата(juvf @ Apr 4 2017, 08:31) *
без разницы в каком стеле написано.... главное чтобы всем было понятно....

Тут я с вами безусловно согласен.
Цитата(juvf @ Apr 4 2017, 08:31) *
и не только мне не понравился гугл стайл.
ps в довершении.... в QtCreator, и позже в Eclipse, есть автодополнение по камел кейсу. назвал переменную quitOnLastWindowClosed, в коде набираешь qol (или qOL) автодополнение предлагает все переменные начинающиеся на q и имеющие в имени большие буквы O и L. в итоге будет предложены все переменные и методы... с вероятностью в 100% будет предложена переменная quitOnLastWindowClosed (или достаточно будет набрать qO). у QString набираешь tss - автодополнение делает toStdString. Набираешь gp - выдает getPoint и getPosition. tn - выскочит tableName Т.е. камел кэйс дает подсказку для автодополнения. Это очень удобно в написании.

Тут тоже частично соглашусь, но это всё же особенности конкретного автодополнения, он мог бы точно так поступать и с разделением подчеркиваниями.
Go to the top of the page
 
+Quote Post
juvf
сообщение Apr 4 2017, 08:25
Сообщение #90


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Цитата(Kabdim @ Apr 4 2017, 12:22) *
Тут тоже частично соглашусь, но это всё же особенности конкретного автодополнения, он мог бы точно так поступать и с разделением подчеркиваниями.

а оно работает по подчеркиванию. написал int hello_world; сохранил. в следующей строке написал hW и жамкнул ctrl+Пробел. дополнило до hello_world. я не говорю что подчеркивание не удобно, я говорю что слитно не удобно. а гугл пердлогает и слитно тоже.
Go to the top of the page
 
+Quote Post

26 страниц V  « < 4 5 6 7 8 > » 
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th August 2025 - 01:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01641 секунд с 7
ELECTRONIX ©2004-2016