Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
1

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

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

Author24 — интернет-сервис помощи студентам
Mr.X, то что вы делаете с форматированием кода заставляет меня плакать. Зачем вы так со мной?(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2016, 12:23
Ответы с готовыми решениями:

Нюансы обучения: желание учесть все нюансы - корректность кода или overengineering?
Здравствуйте программисты! Ответьте пожалуйста на такой вопрос(объясните) Вот я учу С++ и решаю...

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

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

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

44
GbaLog-
16.04.2016, 13:15     Нюансы оформления кода
  #21

Не по теме:

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

0
Эксперт С++
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
16.04.2016, 14:36 22
Цитата Сообщение от avgoor Посмотреть сообщение
Цитата Сообщение от Mr.X Посмотреть сообщение
А что касается выравнивания по табу - так это только для удобства чтения.
Ну как? Вот, как это может быть удобно?
Ну, первое, что мы делаем при чтении кода - это проводим его семантический анализ, т.е. определяем чем является та или иная лексема (хотя, если между лексемами нет пробелов, то сначала придется сами лексемы мысленно выделять и опознавать). Если у нас строки написаны хаотично, то каждую строку мы анализируем независимо от других. Если же у нас сходные лексемы выровнены в столбик, то тут уже заранее ясно, что имя переменной надо искать под именем переменной, аргумент функции под аргументом функции, т.е. время на семантический анализ значительно сокращается. Т.е. получается, что заранее известно где что находится и где это можно найти. Ну, у Голуба это яснее изложено. А то похоже, что книг по форматированию кода никто не читает, но мнение свое тем не менее имеют, и считают, что оно-то самое авторитетное и есть.
0
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
16.04.2016, 19:10 23
Цитата Сообщение от Mr.X Посмотреть сообщение
Ну, первое, что мы делаем при чтении кода - это проводим его семантический анализ
Во во. Не знаю как вам, а мне, когда между, например, типом переменной и ее именем большой пробел, трудно глазами сопоставить одно с другим. Посмотрите оглавление любой книги:
Глава 1: Что-то там такое.....................................................................3
Глава 2: Что-то другое.........................................................................1 0
К чему там эти точки? Наверное чтоб легче сопоставить главу со страницей.
Теперь код. Точки там не поставить. И мне вот здесь сложнее понять какой тип имеет foo:
C++
1
2
int                                                          foo;
double                                                       bar;
А вообще, недавно британские ученые выяснили, почему юзеры не могут прочитать сообщения об ошибках.
0
Любитель чаепитий
3742 / 1798 / 566
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1
16.04.2016, 19:48 24
Цитата Сообщение от avgoor Посмотреть сообщение
Теперь код. Точки там не поставить. И мне вот здесь сложнее понять какой тип имеет foo:
Для этого и существует подсветка выделенной строки.
0
Комп_Оратор)
Эксперт по математике/физике
8949 / 4703 / 629
Регистрация: 04.12.2011
Сообщений: 13,999
Записей в блоге: 16
16.04.2016, 19:59 25
Цитата Сообщение от avgoor Посмотреть сообщение
А вообще, недавно британские ученые выяснили, почему юзеры не могут прочитать сообщения об ошибках.
Догадка:
Кликните здесь для просмотра всего текста
Голова не влазит в монитор, наверное?
0
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
16.04.2016, 20:14 26
Цитата Сообщение от GbaLog- Посмотреть сообщение
подсветка выделенной строки.
Одной строки. При этом, наверное, нет подсветки синтаксиса? Ну раз уж нужно имена табами выравнивать.
0
Любитель чаепитий
3742 / 1798 / 566
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1
16.04.2016, 20:21 27
avgoor, А вам надо, чтобы сразу все строки подсвечивались? Зачем тогда нужна эта подсветка, я говорю о том, как узнать у какой переменной какой тип.
Об вот этом.
Теперь код. Точки там не поставить. И мне вот здесь сложнее понять какой тип имеет foo:
C++
1
2
int                                                          foo;
double                                                       bar;
0
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
16.04.2016, 20:26 28
Цитата Сообщение от GbaLog- Посмотреть сообщение
Зачем тогда нужна эта подсветка, я говорю о том, как узнать у какой переменной какой тип
Цитата Сообщение от Mr.X Посмотреть сообщение
Если же у нас сходные лексемы выровнены в столбик, то тут уже заранее ясно, что имя переменной надо искать под именем переменной
Выделения цветом недостаточно? Зачем их выравнивать?
0
Любитель чаепитий
3742 / 1798 / 566
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1
16.04.2016, 20:33 29
avgoor, Ну мне, например, так приятней смотреть, да и читать легче, когда не надо в каждой строке искать место, где начинается имя переменной. Ты как бы ищешь его один раз, и остальные просто смотришь ниже.
0
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
16.04.2016, 20:42 30
Цитата Сообщение от GbaLog- Посмотреть сообщение
Ну мне, например, так приятней смотреть
И это главная причина такого форматирования.
Маяковский стихи похожим образом писал. НО! он один так писал и никому не придет в голову, что их офигенно удобно читать.

Добавлено через 3 минуты
Резюмирую: приятно смотреть и удобно читать - разные вещи!
0
Любитель чаепитий
3742 / 1798 / 566
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1
16.04.2016, 20:46 31
Цитата Сообщение от avgoor Посмотреть сообщение
И это главная причина такого форматирования.
А для чего вообще форматирование тогда? Если неприятно смотреть на свой код, то и желание кодить отпадет.
Цитата Сообщение от avgoor Посмотреть сообщение
Маяковский стихи похожим образом писал.
Маяковский был футуристом, он любил "зажечь" читателя, может поэтому так и писал.
0
Любитель чаепитий
3742 / 1798 / 566
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1
16.04.2016, 20:50 32
del

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

Добавлено через 52 секунды
А на вкус и цвет, как известно, все фломастеры разные.
0
Любитель чаепитий
3742 / 1798 / 566
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1
16.04.2016, 20:59 34
avgoor, Не стоит на моем примере останавливаться.
И с чего вы взяли, что это не ускоряет чтение? Очень даже, но только когда уже привыкнешь. А когда ты беспорядочно пишешь, то так, то сяк, то, конечно, ничего не увидишь хорошего в таком коде.
0
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
16.04.2016, 21:04 35
Цитата Сообщение от GbaLog- Посмотреть сообщение
но только когда уже привыкнешь.
Ключевое.
Цитата Сообщение от GbaLog- Посмотреть сообщение
И с чего вы взяли, что это не ускоряет чтение?
Где в крупных компаниях так форматируют? В гугле неосиляторы guideline писали?
0
Любитель чаепитий
3742 / 1798 / 566
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1
17.04.2016, 09:57 36
avgoor, Ладно, я, пожалуй, лучше перестану писать что-либо, а то уже сам в своих сообщениях и мыслях путаюсь.

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

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

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

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

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

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

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

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

Цитата Сообщение от GbaLog- Посмотреть сообщение
Кстати, если для вас это "вырвиглазное" форматирование, то это не значит, что для всех так. Сколько ещё раз мне это придется сказать, я даже не представляю.
Если внимательно все читать, то можно и не говорить.
Цитата Сообщение от ct0r Посмотреть сообщение
то лично мне просто крайне неудобно этот код читать
2
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
17.04.2016, 12:28 40
В случае отсутствия IDE при работе с кодом, и в случае любви к функциональному стилю(for_each + lamba vs ranged for ) - код мистера Mr.X однозначно выигрывает. В остальных случаях слишком много проблем, учитывая что сегодня IDE поддерживают полный цикл разработки -> без IDE разработчики остаются очень редко, и функциональный подход не столь любим в общей массе С++ разработчиков, а те кто любят, также любят и скобочки на одной линии кода .
А самая главная проблема что в 95% случаев, вы будете писать такой код в гордом одиночестве, остальные люди просто жахнут "обычным" автоформатом.

Добавлено через 2 минуты
Цитата Сообщение от GbaLog- Посмотреть сообщение
Кстати, если для вас это "вырвиглазное" форматирование, то это не значит, что для всех так. Сколько ещё раз мне это придется сказать, я даже не представляю.
Найдите на github'e проекты оформленные в стиле Mr.X, и сравните с количеством "обычно" оформленных проектов
, статистика такая штука интересная.
0
17.04.2016, 12:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2016, 12:28
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru