Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
rikimaru2013
C++ Game Dev
2399 / 1093 / 237
Регистрация: 30.11.2013
Сообщений: 3,620
#1

Нюансы оформления кода - C++

15.04.2016, 12:23. Просмотров 404. Ответов 44
Метки нет (Все метки)

Mr.X, то что вы делаете с форматированием кода заставляет меня плакать. Зачем вы так со мной?(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2016, 12:23     Нюансы оформления кода
Посмотрите здесь:

C и C++ стили оформления кода - C++
уже давно как существует стандарт C++ 11, и вроде бы все хорошо, но до сих пор почему-то уроки по C++ в Вузах начинаются с...

Правила оформления кода - C++
Почему рекомендует писать классы и функции следующим образом?(вроде как добавляет лишнюю строку, а удобочитаемости..) class SomeClass :...

Правила оформления кода c++ - C++
Приветствую! В общем не редкость встречается, вот такие оформления class SomeClass { private: int _length; ...

Стандарты оформления кода - C++
Здравствуйте. Где можно доходчиво прочесть по стандартам оформления кода? Желательно на русском. Ибо часто вижу, допустим, такое: ...

Объяснить нюансы оптимизации заданного фрагмента кода - C++
Наткнулся на статью по оптимизации кода на C++http://itw66.ru/blog/c_plus_plus/13.html]ссылка Есть там 10-й пункт: SomeClass* p; -...

Нюансы синтаксиса: что означает строчка кода ui->setupUi(this) ? - C++
Добрый день, объясните, пожалуйста на пальцах эту строчку: ui->setupUi(this) ?

Нюансы работы с указателями: объяснить, что происходит в заданном фрагменте кода - C++
Всем доброго времени суток! Я не до конца разобрался в данной теме. К примеру, есть такой кусок программы: ... int N; int...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GbaLog-
16.04.2016, 13:15     Нюансы оформления кода
  #21

Не по теме:

avgoor, Не мне об этом судить, да и вообще лучше не вскрывать тему Российской армии.
Ну а вообще вот вам не удобно, а мне и Mr.X очень даже удобно. На вкус и цвет товарищей нет, как говорится.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mr.X
Эксперт С++
3042 / 1687 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
16.04.2016, 14:36     Нюансы оформления кода #22
Цитата Сообщение от avgoor Посмотреть сообщение
Цитата Сообщение от Mr.X Посмотреть сообщение
А что касается выравнивания по табу - так это только для удобства чтения.
Ну как? Вот, как это может быть удобно?
Ну, первое, что мы делаем при чтении кода - это проводим его семантический анализ, т.е. определяем чем является та или иная лексема (хотя, если между лексемами нет пробелов, то сначала придется сами лексемы мысленно выделять и опознавать). Если у нас строки написаны хаотично, то каждую строку мы анализируем независимо от других. Если же у нас сходные лексемы выровнены в столбик, то тут уже заранее ясно, что имя переменной надо искать под именем переменной, аргумент функции под аргументом функции, т.е. время на семантический анализ значительно сокращается. Т.е. получается, что заранее известно где что находится и где это можно найти. Ну, у Голуба это яснее изложено. А то похоже, что книг по форматированию кода никто не читает, но мнение свое тем не менее имеют, и считают, что оно-то самое авторитетное и есть.
avgoor
884 / 519 / 112
Регистрация: 05.12.2015
Сообщений: 1,464
16.04.2016, 19:10     Нюансы оформления кода #23
Цитата Сообщение от Mr.X Посмотреть сообщение
Ну, первое, что мы делаем при чтении кода - это проводим его семантический анализ
Во во. Не знаю как вам, а мне, когда между, например, типом переменной и ее именем большой пробел, трудно глазами сопоставить одно с другим. Посмотрите оглавление любой книги:
Глава 1: Что-то там такое.....................................................................3
Глава 2: Что-то другое.........................................................................10
К чему там эти точки? Наверное чтоб легче сопоставить главу со страницей.
Теперь код. Точки там не поставить. И мне вот здесь сложнее понять какой тип имеет foo:
C++
1
2
int                                                          foo;
double                                                       bar;
А вообще, недавно британские ученые выяснили, почему юзеры не могут прочитать сообщения об ошибках.
GbaLog-
Любитель чаепитий
2586 / 1125 / 279
Регистрация: 24.08.2014
Сообщений: 4,124
Записей в блоге: 1
Завершенные тесты: 2
16.04.2016, 19:48     Нюансы оформления кода #24
Цитата Сообщение от avgoor Посмотреть сообщение
Теперь код. Точки там не поставить. И мне вот здесь сложнее понять какой тип имеет foo:
Для этого и существует подсветка выделенной строки.
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6419 / 3058 / 302
Регистрация: 04.12.2011
Сообщений: 8,332
Записей в блоге: 3
16.04.2016, 19:59     Нюансы оформления кода #25
Цитата Сообщение от avgoor Посмотреть сообщение
А вообще, недавно британские ученые выяснили, почему юзеры не могут прочитать сообщения об ошибках.
Догадка:
Кликните здесь для просмотра всего текста
Голова не влазит в монитор, наверное?
avgoor
884 / 519 / 112
Регистрация: 05.12.2015
Сообщений: 1,464
16.04.2016, 20:14     Нюансы оформления кода #26
Цитата Сообщение от GbaLog- Посмотреть сообщение
подсветка выделенной строки.
Одной строки. При этом, наверное, нет подсветки синтаксиса? Ну раз уж нужно имена табами выравнивать.
GbaLog-
Любитель чаепитий
2586 / 1125 / 279
Регистрация: 24.08.2014
Сообщений: 4,124
Записей в блоге: 1
Завершенные тесты: 2
16.04.2016, 20:21     Нюансы оформления кода #27
avgoor, А вам надо, чтобы сразу все строки подсвечивались? Зачем тогда нужна эта подсветка, я говорю о том, как узнать у какой переменной какой тип.
Об вот этом.
Теперь код. Точки там не поставить. И мне вот здесь сложнее понять какой тип имеет foo:
C++
1
2
int                                                          foo;
double                                                       bar;
avgoor
884 / 519 / 112
Регистрация: 05.12.2015
Сообщений: 1,464
16.04.2016, 20:26     Нюансы оформления кода #28
Цитата Сообщение от GbaLog- Посмотреть сообщение
Зачем тогда нужна эта подсветка, я говорю о том, как узнать у какой переменной какой тип
Цитата Сообщение от Mr.X Посмотреть сообщение
Если же у нас сходные лексемы выровнены в столбик, то тут уже заранее ясно, что имя переменной надо искать под именем переменной
Выделения цветом недостаточно? Зачем их выравнивать?
GbaLog-
Любитель чаепитий
2586 / 1125 / 279
Регистрация: 24.08.2014
Сообщений: 4,124
Записей в блоге: 1
Завершенные тесты: 2
16.04.2016, 20:33     Нюансы оформления кода #29
avgoor, Ну мне, например, так приятней смотреть, да и читать легче, когда не надо в каждой строке искать место, где начинается имя переменной. Ты как бы ищешь его один раз, и остальные просто смотришь ниже.
avgoor
884 / 519 / 112
Регистрация: 05.12.2015
Сообщений: 1,464
16.04.2016, 20:42     Нюансы оформления кода #30
Цитата Сообщение от GbaLog- Посмотреть сообщение
Ну мне, например, так приятней смотреть
И это главная причина такого форматирования.
Маяковский стихи похожим образом писал. НО! он один так писал и никому не придет в голову, что их офигенно удобно читать.

Добавлено через 3 минуты
Резюмирую: приятно смотреть и удобно читать - разные вещи!
GbaLog-
Любитель чаепитий
2586 / 1125 / 279
Регистрация: 24.08.2014
Сообщений: 4,124
Записей в блоге: 1
Завершенные тесты: 2
16.04.2016, 20:46     Нюансы оформления кода #31
Цитата Сообщение от avgoor Посмотреть сообщение
И это главная причина такого форматирования.
А для чего вообще форматирование тогда? Если неприятно смотреть на свой код, то и желание кодить отпадет.
Цитата Сообщение от avgoor Посмотреть сообщение
Маяковский стихи похожим образом писал.
Маяковский был футуристом, он любил "зажечь" читателя, может поэтому так и писал.
GbaLog-
Любитель чаепитий
2586 / 1125 / 279
Регистрация: 24.08.2014
Сообщений: 4,124
Записей в блоге: 1
Завершенные тесты: 2
16.04.2016, 20:50     Нюансы оформления кода #32
del

Добавлено через 2 минуты
Цитата Сообщение от avgoor Посмотреть сообщение
Резюмирую: приятно смотреть и удобно читать - разные вещи!
Я понимаю, но мне и читать удобно и смотреть приятно, такие дела. А код вроде
C++
1
2
3
4
5
int foo() {
    int g = 0;
    //do smth
    return g;
}
мне не нравится.
avgoor
884 / 519 / 112
Регистрация: 05.12.2015
Сообщений: 1,464
16.04.2016, 20:53     Нюансы оформления кода #33
Цитата Сообщение от GbaLog- Посмотреть сообщение
А для чего вообще форматирование тогда?
Ну, ранее в этой теме проскакивало, что такое форматирование ускоряет чтение и, чтобы осознать это - нужно прочесть кучу умных книжек. А оказалось, что просто нравится как оно выглядит. Как я и предполагал.

Добавлено через 52 секунды
А на вкус и цвет, как известно, все фломастеры разные.
GbaLog-
Любитель чаепитий
2586 / 1125 / 279
Регистрация: 24.08.2014
Сообщений: 4,124
Записей в блоге: 1
Завершенные тесты: 2
16.04.2016, 20:59     Нюансы оформления кода #34
avgoor, Не стоит на моем примере останавливаться.
И с чего вы взяли, что это не ускоряет чтение? Очень даже, но только когда уже привыкнешь. А когда ты беспорядочно пишешь, то так, то сяк, то, конечно, ничего не увидишь хорошего в таком коде.
avgoor
884 / 519 / 112
Регистрация: 05.12.2015
Сообщений: 1,464
16.04.2016, 21:04     Нюансы оформления кода #35
Цитата Сообщение от GbaLog- Посмотреть сообщение
но только когда уже привыкнешь.
Ключевое.
Цитата Сообщение от GbaLog- Посмотреть сообщение
И с чего вы взяли, что это не ускоряет чтение?
Где в крупных компаниях так форматируют? В гугле неосиляторы guideline писали?
GbaLog-
Любитель чаепитий
2586 / 1125 / 279
Регистрация: 24.08.2014
Сообщений: 4,124
Записей в блоге: 1
Завершенные тесты: 2
17.04.2016, 09:57     Нюансы оформления кода #36
avgoor, Ладно, я, пожалуй, лучше перестану писать что-либо, а то уже сам в своих сообщениях и мыслях путаюсь.

Добавлено через 2 минуты
Отдохну и завтра отвечу.

Добавлено через 12 часов 41 минуту
Цитата Сообщение от avgoor Посмотреть сообщение
Ключевое.
Ну в общем-то к любому стилю кода надо привыкнуть, даже в больших IT-компаниях, таких, как Google тебе дадут ссылку на их стиль кода и ты должен к нему прирости, иначе тебя просто могут выгнать(если действительно за такое могут).
Просто тот стиль, который использует Mr.X мне кажется наиболее читаемым, чем какой-либо другой, поэтому я его хотя бы пытаюсь использовать.
Цитата Сообщение от avgoor Посмотреть сообщение
Где в крупных компаниях так форматируют? В гугле неосиляторы guideline писали?
Я не знаю где как форматируют, я ещё нигде не работал. Но могу предположить, что где-нибудь так пишут. И ещё, многие компании наверняка не задумываются о том, что после написания готового продукта их код кто-то будет читать, поэтому стиль форматирования выбирают не более читаемый, а более быстрый по написанию.
ct0r
Игогошка!
1768 / 670 / 42
Регистрация: 19.08.2012
Сообщений: 1,284
Завершенные тесты: 1
17.04.2016, 11:53     Нюансы оформления кода #37
Цитата Сообщение от GbaLog- Посмотреть сообщение
поэтому я его хотя бы пытаюсь использовать.
Зря-зря-зря. 99% что потом придется отвыкать.

Цитата Сообщение от GbaLog- Посмотреть сообщение
что где-нибудь так пишут
Чтобы где-то так писали, нужно этот стиль формализовать. Что значит формализовать? Это значит написать правила, однозначно определяющие форматирование одного и того же кода. Потому что если один код может быть отформатирован совсем по-разному разными людьми (что при данном стиле так оно и есть, как мне думается), то теряется консистентность по всей кодовой базе. А это ничем не лучше отсутствия вообще какого-либо стиля. Да и средства автоформатирования не смогут адекватно проверять такое на прекоммитном хуке, как и просто форматировать.

Цитата Сообщение от GbaLog- Посмотреть сообщение
поэтому стиль форматирования выбирают не более читаемый, а более быстрый по написанию.
Ничего подобного. Если компания озаботилась гайдом по коду, то ее усилия очевидно направлены именно на сопровождение.

Да если даже убрать всякое бизнес-вэлью, то лично мне просто крайне неудобно этот код читать. Вместо того, чтобы спокойненько и плавно перемещаться по коду, мне нужно заставлять глаза прыгать из одного места в другое. "Вырвиглаз" стайл для бешеных и нервных
Я уж молчу о том, что будет, когда я захочу одновременно править несколько файлов...
GbaLog-
Любитель чаепитий
2586 / 1125 / 279
Регистрация: 24.08.2014
Сообщений: 4,124
Записей в блоге: 1
Завершенные тесты: 2
17.04.2016, 12:14     Нюансы оформления кода #38
Цитата Сообщение от ct0r Посмотреть сообщение
Чтобы где-то так писали, нужно этот стиль формализовать.
Я не думаю, что Mr.X безработный или фрилансер, который сам этот стиль полностью выработал и использует его только он.
Цитата Сообщение от ct0r Посмотреть сообщение
Зря-зря-зря. 99% что потом придется отвыкать.
Может быть, но что мне мешает сейчас так писать? Мне неизвестно мое будущее и, возможно, если я буду учится другому стилю форматирования, то когда приду на первую работу мне скажут форматировать так, как Mr.X. Так что сейчас переучиваться не вижу смысла.
Цитата Сообщение от ct0r Посмотреть сообщение
Ничего подобного. Если компания озаботилась гайдом по коду, то ее усилия очевидно направлены именно на сопровождение.
Ну я сделал предположение.

Кстати, если для вас это "вырвиглазное" форматирование, то это не значит, что для всех так. Сколько ещё раз мне это придется сказать, я даже не представляю.
ct0r
Игогошка!
1768 / 670 / 42
Регистрация: 19.08.2012
Сообщений: 1,284
Завершенные тесты: 1
17.04.2016, 12:25     Нюансы оформления кода #39
Цитата Сообщение от GbaLog- Посмотреть сообщение
Я не думаю, что Mr.X безработный или фрилансер, который сам этот стиль полностью выработал и использует его только он.
Меня это не интересует. Либо стиль хорошо формализуется, либо нет. Если нет, то его никто в здравом уме никогда в больших проектах использовать не будет. Все просто.
Найди мне такое форматирование в популярном гитхабовском проекте.

Цитата Сообщение от GbaLog- Посмотреть сообщение
если я буду учится другому стилю форматирования, то когда приду на первую работу мне скажут форматировать так, как Mr.X
Или скажут играть на барабанах. Такая же вероятность.

Цитата Сообщение от GbaLog- Посмотреть сообщение
Ну я сделал предположение.
Нужно не придумывать предположения в угоду своим хотелкам, а объективно смотреть на вещи.

Цитата Сообщение от GbaLog- Посмотреть сообщение
Кстати, если для вас это "вырвиглазное" форматирование, то это не значит, что для всех так. Сколько ещё раз мне это придется сказать, я даже не представляю.
Если внимательно все читать, то можно и не говорить.
Цитата Сообщение от ct0r Посмотреть сообщение
то лично мне просто крайне неудобно этот код читать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2016, 12:28     Нюансы оформления кода
Еще ссылки по теме:

Нюансы синтаксиса: объяснить как работает тернарная операция в заданном фрагменте кода - C++
Всем доброго времени суток! Помогите разобраться с кодом. const char x = {"Jason ", "at your service\n"}; const char * y =...

Культура оформления кода: что такое enum? Где, когда и для чего уместно применять этот тип? - C++
не понял за что отвечают эти две строчки: enum ChosenOperation { ADD = 1, SHOW, SEARCH, EXIT }; enum SearchingCriteria { NAME =...

Устранить ошибку оформления кода "expected `}'" - C++
Помогите с кодом, выдаёт ошибку expected `}' at end of input, in function `int main(int, char**)': На скоко я понял нехватает фигурных...

Нюансы объявления переменных - C++
Здравствуйте. Есть несколько моментов, касающихся объявления переменных, которые пока не вполне понятны: 1 - В чём заключается...

Нюансы объявления класса - C++
Господа cpp-программисты. Расскажите, пожалуйста, как вы объявляете классы в своих проектах. Суть вопроса я поясню на примере. Имеется...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Nosey
1344 / 395 / 107
Регистрация: 22.10.2014
Сообщений: 860
Завершенные тесты: 2
17.04.2016, 12:28     Нюансы оформления кода #40
В случае отсутствия IDE при работе с кодом, и в случае любви к функциональному стилю(for_each + lamba vs ranged for ) - код мистера Mr.X однозначно выигрывает. В остальных случаях слишком много проблем, учитывая что сегодня IDE поддерживают полный цикл разработки -> без IDE разработчики остаются очень редко, и функциональный подход не столь любим в общей массе С++ разработчиков, а те кто любят, также любят и скобочки на одной линии кода .
А самая главная проблема что в 95% случаев, вы будете писать такой код в гордом одиночестве, остальные люди просто жахнут "обычным" автоформатом.

Добавлено через 2 минуты
Цитата Сообщение от GbaLog- Посмотреть сообщение
Кстати, если для вас это "вырвиглазное" форматирование, то это не значит, что для всех так. Сколько ещё раз мне это придется сказать, я даже не представляю.
Найдите на github'e проекты оформленные в стиле Mr.X, и сравните с количеством "обычно" оформленных проектов
, статистика такая штука интересная.
Yandex
Объявления
17.04.2016, 12:28     Нюансы оформления кода
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru