![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
volkrey |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 11.5.2009 Репутация: нет Всего: нет |
Друзья, поделитесь своими стилями оформления кода(я понимаю, что есть у каждого на работе свои доки по стилю, но все же интересно)
мне интересно как Вы оформляете коменты |
|||
|
||||
AZealot |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 25.4.2009 Репутация: нет Всего: нет |
Как то так. Не профессиональный программист, но, ИМХО, более менее читабельно получается. |
|||
|
||||
1000000dollars |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 6.10.2007 Репутация: нет Всего: 8 |
|
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 3 Всего: 33 |
1000000dollars, Кстати не все!
Я однажды для удобства, впихнул http запрос в код, чтоб в другое окно не переключаться. Долго я не мог понять почему часть из запроса, включалась в компиляцию. Так и не понял. Пришлось в другом окне читать ![]() MSVS 2008. Вот: ![]() Это сообщение отредактировал(а) andrew_121 - 30.6.2009, 18:25 -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
K&R
|
|||
|
||||
GrayCardinal |
|
|||
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 8 Всего: 58 |
Комменты... в коде... хм ![]() |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
я, конечно, понимаю, что код по идее сам должен являться комментом, но иногда они (комменты) очень помогают например, ты бы сходу понял сей код? код без маленького коммента сверху -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 1 Всего: 154 |
![]() BSD имена классов - с большой буквы, cammel case имена переменных, методов, ф-ий - в нижнем регистре имена констант, макросов - в верхнем регистре имена закрытых переменных класса заканчиваются на _ отступ - 4 пробела, ворматирование пробелами
|
|||
|
||||
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
И почему же
![]() Этот стиль отличается от Java-style только позицией { при классах и методах. Все остальное идентично. |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 3 Всего: 33 |
Вот и мне любопытно. На* пустые строки? Или ЗП от кол-ва строк расчитывается? ![]() -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
Lazin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 1 Всего: 154 |
чисто субъективно - лучше читаемость
мне первый вариант как-то глаза мозолит.. ![]() Добавлено через 52 секунды во втором варианте проще находить начало блока, если находишься в его конце, так как скобки имеют один уровень отступа |
||||
|
|||||
GrayCardinal |
|
||||||
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 8 Всего: 58 |
Издеваешься ? там пять тыщ строк ![]() Хотя если нормально смотреть, в виме к примеру, то можно разобраться ![]() Добавлено через 2 минуты и 25 секунд Lazin,
![]() 1. K&R is right 2. K&R is right Добавлено через 2 минуты и 59 секунд
![]() |
||||||
|
|||||||
nerezus |
|
||||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
Если ты, то обманул таки )
Его надо разбить на классы по ~200 строк максимум для улучшения читаемости. |
||||
|
|||||
bsa |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
это кусок исходного текста ядра Linux. Оно написано на Си. В Си нет классов. Если каждый файл там разбивать на мелкие по 200 строк, то файловая система умрет при распаковке. |
||||
|
|||||
Lazin |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 1 Всего: 154 |
там таких проблем нет, потому-что нет скобок xD
сравни с этим и представь, что кода больше.. его намного больше!! ![]()
![]() короче я ничего не понял, что ты хочешь этим сказать... в общем, это дело вкуса.. |
||||||
|
|||||||
GrayCardinal |
|
|||
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 8 Всего: 58 |
Lazin,
Любой уважающий себя редактор подсвечивает конец блока.... |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 3 Всего: 33 |
Установите табуляцию 2-3 и блок будет выделяться.
Это ты плохой ![]() Какие классы?!!! Это С ! -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 1 Всего: 154 |
табуляция в 2-3 пробела? что там будет выделяться кроме попытки выделяться? ![]() |
|||
|
||||
nerezus |
|
||||||||||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
"{" == ":" "}" == ""(пусто) т.е. код такой же, как в питоне, если считать скобки пустым местом, а смотреть лишь на строки.
Сравни ) P.S. синтаксис не приводил ) Мне второй вариант больше нравится - он компактнее, а на скобки никогда внимания не обращаю, смотрю лишь на реализуемые отступы. Если же при { будет пустая строка, то кажется, как будто блок закончен, что не так ) |
||||||||||
|
|||||||||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 3 Всего: 33 |
Прикольная фраза получилась ![]() nerezus, Ты случаем не мусар? Помнишь что Лазин когда-то где-то писал, и за мной следишь? Неа, скорее ты извращенец. ![]() Да еще и зануда. -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
GrayCardinal,
не, я про одну функции calc_delta_mine ;) по сабжу мой выбор linux/Documentation/CodingStyle по работе так
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
proc_maker |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 11.11.2006 Репутация: 1 Всего: 1 |
embedded С++. Мы руководствуемся MISRA - очень грамотная вещь.
Из такого что быстро приходит на ум - запрещено использование табуляторов - пробелы. Комменты в стиле doxygen. Запрещено использование STL и эксепшнов, единый выход из функции, лимит на глубину колво скопов в функции, лимит на длину строки кода, запрет continue, оператора запятая. Нет пробела между именем функции и открывающей скобкой при вызове. Нет пробелов перед запятыми и точками, точками с запятой. Запрещены куски заремаренного кода (золотое с моей точки зрения правило). Один класс - cpp + hpp файл. Я лично предпочитаю стиль if (X) { f(); } else { f(); } Кажется более интуитивно понятным Это сообщение отредактировал(а) proc_maker - 18.8.2010, 16:42 |
|||
|
||||
Rad87 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.7.2010 Репутация: нет Всего: нет |
Ну у вас и жесткий кодестайл..... больше всего вопросов к единому выходу из функции и к continue.
Как вы работаете с этими ограничениями? на мой взгляд от этого только усложняется код. |
|||
|
||||
A5uKa |
|
||||
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: нет Всего: 16 |
Странная тема ... ну вот как я оформляю... (у меня очень мало комментариев)
|
||||
|
|||||
proc_maker |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 11.11.2006 Репутация: 1 Всего: 1 |
Как ни странно, но я для себя понял что единый выход из функции очень удобен и решает много проблем к примеру благодаря такой вот конструкции:
continue тоже лечится таким же образом:
Как в половой жизни - раз приучил себя не писать как попало - и дальше не имеешь лишней головной боли разного рода. Добавлено через 8 минут и 24 секунды мы пишем так: for (int i = 0; tempTree->Count > i; ++i) А еще у нас скобки обязаны быть во всех if while case etc. if () { a = 0; } Это сообщение отредактировал(а) proc_maker - 18.8.2010, 14:19 |
||||||
|
|||||||
A5uKa |
|
|||
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: нет Всего: 16 |
Ну один знакомый у меня скобки ставит вообще просто так, что бы выделить что-то ... Если пишешь код в одиночестве главное там потом не запутаться ... Ну в моём случае это неосуществимо ![]() |
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: нет Всего: 39 |
а потом ищешь где у тебя функция зависла и за того что стоит бесконечный цикл. А какое отношение к оператору goto ? -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
proc_maker |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 11.11.2006 Репутация: 1 Всего: 1 |
>> а потом ищешь где у тебя функция зависла и за того что стоит бесконечный цикл.
А где тут бесконечный цикл кстати? ![]() Запрещено. Я никого не уговариаю на эту конструкцию, поймите. Лично я нашел в ней больше плюсов чем минусов, поэтому стараюсь ее применять везде где возможно, потому что она с моей точки зрения максимально красиво реализует подход: если мы на этой строке значит все проверки прошли успешно. Это сообщение отредактировал(а) proc_maker - 19.8.2010, 10:17 |
|||
|
||||
Dem_max |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: нет Всего: 39 |
а что за конструкция такая с while(0); ?
может вместо
проще написать
Это сообщение отредактировал(а) Dem_max - 19.8.2010, 11:33 -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
||||
|
|||||
proc_maker |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 11.11.2006 Репутация: 1 Всего: 1 |
Да, только чтобы юзать break он должен быть внутри цикла - иначе придется использовать return или goto. Вот while(0) и позволяет это делать не прибегая к циклу как к таковому ![]() |
||||
|
|||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: нет Всего: 39 |
просто жесть
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 1 Всего: 39 |
proc_maker, то, что вы написали - не codestyle, а идея ради идеи. Зачем одни лаконичные конструкции заменять другими радутыми, но функционально эквивалентными?
Ня! (вариант для командной разработки). -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |