Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
Результаты опроса: Какой стиль предпочитаете?
Олмана 61 54.95%
Кернигана и Ричи 41 36.94%
Уайтсмита 6 5.41%
GNU 14 12.61%
Опрос с выбором нескольких вариантов ответа. Голосовавшие: 111. Вы ещё не голосовали в этом опросе

 
 
Рейтинг 4.93/133: Рейтинг темы: голосов - 133, средняя оценка - 4.93
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446

Стили оформления кода C/C++

11.06.2009, 17:59. Показов 26303. Ответов 70
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Очень стало любопытно... Какой стиль оформления кода предпочитают программисты.
Лично я придерживаюсь 4-х пробельные (или 1 табулированный) стиль Олмана.

Стиль Олмана

Стиль Олмана
C++
1
2
3
4
if (<cond>)
{
········<body>
}

Стиль Кернигана и Ричи

Стиль Кернигана и Ричи
C++
1
2
3
if (<cond>) {
········<body>
}

Стиль Уайтсмита

Стиль Уайтсмита
C++
1
2
3
4
if (<cond>)
········{
········<body>
········}

Стиль GNU

Стиль GNU
C++
1
2
3
4
5
6
7
if (<cond>)
··{
····<body>
··}
 
if (<cond>)
··<body>
4
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.06.2009, 17:59
Ответы с готовыми решениями:

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

Стили оформления
Необходимо написать программу которая меняет стили панели задач (возможно я не правильно это называю). Облазил множество ссылок интернета и...

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

70
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
11.06.2009, 18:02
Посколько часто приходилось работать с gnu'тыми исходниками, предпочатю гнутый стиль. Правда тут несколько неточно написано, потому как они делят на тело из одного statement'а и из нескольких

C
1
2
3
4
5
6
7
if (<cond>)
··{
····<body>
··}
 
if (<cond>)
··<body>
0
Maniac
Эксперт С++
 Аватар для ISergey
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
11.06.2009, 18:09
В основном Стиль Олмана но часто пролетает и Стиль Кернигана и Ричи..
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
11.06.2009, 18:09
А правильные пацаны юзают astyle (или другую подходящую тулзу) и не парятся.
0
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
11.06.2009, 18:14  [ТС]
CheshireCat, Гг... ну все равно..когда ты пишешь..ты же пишешь в каком-то стиле.. иначе код будет не понятен...
например мне тяжело работать со стилем Кернигана и Ричи - я теряю фигурные скобки.. поэтому я им пользуюсь очень редко (иногда токо в CSS применяю)
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
11.06.2009, 18:31
C
1
2
3
4
5
6
7
8
..if(condition){
....body1
..}else{
....if(condition){
......body2
....} 
....body3
..}
0
инженер-системотехник
 Аватар для Haster
111 / 111 / 5
Регистрация: 10.03.2009
Сообщений: 533
11.06.2009, 20:25
Обычно использую стиль Олмана, но иногда и GNU промелькивает ))
0
Администратор
 Аватар для mik-a-el
87816 / 53137 / 249
Регистрация: 10.04.2006
Сообщений: 13,761
11.06.2009, 20:27
Олман адназначна
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
11.06.2009, 20:29
а у меня какой-то гибрид выходит, но меня устраивает, я пока эту тему не подняли, даже не знал, что есть такие стили. да что они вообще существуют, думал каждый ... как он хочет...
0
Администратор
 Аватар для mik-a-el
87816 / 53137 / 249
Регистрация: 10.04.2006
Сообщений: 13,761
11.06.2009, 20:32
VoodooMan, всё украдено до нас))
0
UNIX-way
 Аватар для Delphin_KKC
712 / 495 / 49
Регистрация: 15.01.2009
Сообщений: 1,720
11.06.2009, 20:35
Предпочитаю собственный стиль. Который, как оказалось, является комбинацией стилей Уайтсмита и GNU:
C++
1
2
3
4
5
6
cout << endl<<"";
for (i=0;i<n;i++)
  {
  for (j=0;j<n;j++) printf("%5d",M[i][j]);
  cout << endl;
  }
0
 Аватар для Gravity
577 / 571 / 65
Регистрация: 29.01.2009
Сообщений: 1,274
11.06.2009, 20:47
СтОит упомянуть еще стиль в одну колонку, среди новичков популярен
C++
1
2
3
4
5
6
if(<cond>)
{
<body>
}
if(<cond>)
<body>
0
UNIX-way
 Аватар для Delphin_KKC
712 / 495 / 49
Регистрация: 15.01.2009
Сообщений: 1,720
11.06.2009, 20:54
Он популярен примерно до первой программы размером в несколько сотен строк кода, которую потом преподу объяснять надо
1
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
11.06.2009, 21:02
Gravity, неее, не хватает в твоем стиле экспрессии новичков))) больше хаоса меньше стройности, вот настоящий стиль начинающего
0
Эксперт С++
 Аватар для Phantom
3189 / 869 / 39
Регистрация: 29.12.2008
Сообщений: 951
11.06.2009, 21:36
Я люблю чтобы в программе как можно меньше строк было, поэтому, если есть возможность, то пишу примерно так:
C++
1
if(<cond>){<body>}
Например, обмен через третью переменную:
C++
1
if (a>b) {c=a; a=b; b=c;}
Получается симпатично. То же самое и если одно действие:
C++
1
if(<cond>) <body>;
А если много писать под if-ом нужно, то тут стиль Ольмана. А вот когда читаю исходник, написанный стилем Кернигана и Ричи, то глаза на лоб лезут, все время путаюсь в скобках.
0
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
11.06.2009, 22:36
C++
1
2
3
4
5
6
7
8
9
if(condition){
..body1
}
else{
..if(condition)
....body2
 
..body3
}
А вообще главное, чтобы стиль везде и всегда был ОДИН.
Стоит расширить тему, ведь стиль это не толь табуляция и расстановка скобок, но еще и именование переменных, констант, макросов, оформление комментариев и т.д. и т.п. Вот тут-то полный разброд...
0
UNIX-way
 Аватар для Delphin_KKC
712 / 495 / 49
Регистрация: 15.01.2009
Сообщений: 1,720
11.06.2009, 22:59
Всё малозначимое или часто встречающееся у меня получает короткие имена.
Переменные цикла - i,j,k
Переменные для временного хранения какого-то значения - tmpx, bufx, где х может или отсутствовать или быть какимсь числом
Переменные, хранящие неизвестное, которое надо найти в задаче/формуле или координаты чегось - x,y,z
Для строковых данных предпочитаю использовать s, d, e.
Указатели - p, pnt
Массивы - ar, arr, a.
Переменные, хранящие количество чего-либо получают имена cnt, n, count, sz (размер), fsz (размер файла), num (номер).
Более важные переменные и менее часто встречающиеся получают более длинные и осмысленные имена, похожие по формату образования на имена функций в Си.
Конечно, могут быть и другие имена, но эти наиболее часто встречаются.
З.Ы. Когда переделываю чейсь код, то оставляю "родные" имена переменных (если они не конфликтуют с моими).
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
11.06.2009, 23:09
Цитата Сообщение от Phantom Посмотреть сообщение
Я люблю чтобы в программе как можно меньше строк было, поэтому, если есть возможность, то пишу примерно так: ....... [skiiiiiiip...... многабукафф....]
"Начинающие программисты думают, что пишут программы для компьютеров. Опытные программисты знают, что пишут программы для людей." (с) не мое, не помню, откуда.....
3
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
11.06.2009, 23:21
Цитата Сообщение от CheshireCat Посмотреть сообщение
"Начинающие программисты думают, что пишут программы для компьютеров. Опытные программисты знают, что пишут программы для людей." (с)
Вот это самое правильное утверждение. С небольшой поправкой: писать программу нужно для компьютера, но но нужно помнить и о людях, которые будут ее читать/разбирать/сопровождать.
0
 Аватар для mirso
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
11.06.2009, 23:29
У меня стиля нет!
Если мне чего непонятно в коде,
выделяю где-как, и меняю.
Где пробел, где коменты.
Цитата Сообщение от Gravity Посмотреть сообщение
СтОит упомянуть еще стиль в одну колонку, среди новичков популярен
Люди явно спешат!
Вдруг серьезная отладка - лопать не перелопатишь!Ошибку не найдешь!
Но на форуме, если хотят, что бы их код был прочитан,
для лучшего восприятия - я считаю - хотя бы закоменть!
Если не хочешь не коменть! Зачем тогда пишешь?!
Цель-то у всех одна - узнать чего не знаешь!
А синтаксический ошибки...
А вопросы про: "Мне бы как то нибудь да как--нибудь ватак нефига нипамятма!!!
памагиче хята бы чег могете,!!!До экзамена 3 сек!ОК!==))"
А где наработки!
И где сам код вообще???
Сразу все бросились отвечать!(Если тема знакома!)
И если есть дешифратор!!!
mik-a-el,
помнится ты обещал выдать всем учебники за 5 класс по русскому!

Monte-Cristo,
А я и не знаю как мой стиль называется,
и почему-то вникать не хочется(пока не хочется).
Как не нада писать!
Дета час назад попросил (в теме про массивы) дабы легче читалось!
Может кто и изменит своё отношение к своему письму!
Цитата Сообщение от mirso Посмотреть сообщение
Уважаемые программисты!
Используйте пожалуйста отступы!
(Дабы читать полегче было!)

#include "conio.h"
#include "iostream.h"
#include <iomanip.h>
#include "math.h"
const int n=25;main(){int arr1[n];float arr2[n];for(int i=0;i<n;i++){arr2[i]
=sqrt(arr1[i]=random(901));cout<<setw(3)<<arr1[i]<<setw(8)<<arr2[i]<<endl;}getch();}
}
и привел код, написанный ранее нормально.
Если бы я такой код увидел,
"пошел бы дальше!"
Цель-то у всех одна - узнать чего не знаешь!
И понять! А там ничего непомятно!
Что я там пойму и узнаю!
//--------------------------------------------------------------------------------------
сегодня я узнал, что есть стили от
Monte-Cristo!
Большое ему за это спасибо!
Когда пригодиться - буду знать где найти.
www.cyberforum.ru
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.06.2009, 23:29
Помогаю со студенческими работами здесь

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

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

Нюансы оформления кода
Mr.X, то что вы делаете с форматированием кода заставляет меня плакать. Зачем вы так со мной?(

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Ниже машинный перевод статьи The Thinkpad X220 Tablet is the best budget school laptop period . Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы,. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru