|
24 / 24 / 0
Регистрация: 08.09.2010
Сообщений: 136
|
|
Вопрос по стандартам написания кода30.09.2011, 18:38. Показов 2185. Ответов 16
Метки нет (Все метки)
Положим, что я пишу код на С++ и использую расширения .cpp для файлов, но при этом использую, в большинстве своем, функции, наследованные из С, а из С++, по большому счету, использую только STL и, иногда, string. Что стандарты говорят по поводу такого? Допустимо ли это, или нет?
0
|
|
| 30.09.2011, 18:38 | |
|
Ответы с готовыми решениями:
16
Оценка стиля написания кода Стиль написания кода(читабельность и прочее) Спрашиваю совет по стилю написания кода |
|
385 / 229 / 12
Регистрация: 06.07.2011
Сообщений: 512
|
|
| 30.09.2011, 18:44 | |
|
стандартов по написанию кода нет, насколько я знаю. есть рекомендации. а что за ф-ции используются из С, аналогов которым нет в С++?
0
|
|
|
24 / 24 / 0
Регистрация: 08.09.2010
Сообщений: 136
|
|
| 30.09.2011, 18:48 [ТС] | |
|
Я не говорю, что аналогов нет. Просто, например, ну не могу я терпеть cin, cout и прочие "прелести" библиотек *stream >< Старые добрые printf, scanf и иже с ними как-то роднее.
Ну а что тогда в рекомендациях?
0
|
|
|
24 / 24 / 0
Регистрация: 08.09.2010
Сообщений: 136
|
||
| 30.09.2011, 18:55 [ТС] | ||
|
0
|
||
|
9 / 9 / 1
Регистрация: 01.02.2010
Сообщений: 35
|
|
| 30.09.2011, 18:56 | |
|
Стандарты тоже бывают, например работодатель может потребовать от вас соблюдать определенный формат кода (например если в компании трудятся 10-ки программистов, которым нередко приходится коллективно что то разрабатывать, ввод жесткого стандарта будет способствовать уменьшению ошибок и просто увеличит скорость работы людей)
Но в подавляющем большинстве случаев все зависит только от вас, поэтому как хотите так и пишите. Просто существуют некоторые соглашения, которые облегчают процесс чтения вашего кода другими людьми
0
|
|
|
24 / 24 / 0
Регистрация: 08.09.2010
Сообщений: 136
|
|
| 30.09.2011, 18:59 [ТС] | |
|
0
|
|
|
9 / 9 / 1
Регистрация: 01.02.2010
Сообщений: 35
|
|
| 30.09.2011, 19:07 | |
|
Нельзя, эти соглашения нигде не записаны (или записанны и приняты лишь в узком кругу людей, например среди работников одной конкретной компании). Просто принято например, что объявление констант пишется заглавными буквами, или те же расстановки отступов. Это что то вроде правил хорошего тона.
Нигде не прописано, что вы должны говорить "здравствуйте" незнакомому человеку, вместо "привет", вы делаете это потому что в России так принято. Точно так же и в программировании. У нас в университете тоже например принят определенный формат кода для лабораторных работ на С/С++, преподаватель разработал его исходя из собственных представлений о красоте кода. Если хотите, могу скинуть его вам.
0
|
|
|
24 / 24 / 0
Регистрация: 08.09.2010
Сообщений: 136
|
||
| 30.09.2011, 19:11 [ТС] | ||
|
0
|
||
|
9 / 9 / 1
Регистрация: 01.02.2010
Сообщений: 35
|
|
| 30.09.2011, 19:16 | |
|
Да. То, какую функцию использовать - scanf или cin, это дело исключительно вашего вкуса (если иначе не оговорено в вашем контракте), это то, что можно назвать вашим индивидуальным стилем программирования.
1
|
|
|
24 / 24 / 0
Регистрация: 08.09.2010
Сообщений: 136
|
|
| 30.09.2011, 19:17 [ТС] | |
|
0
|
|
|
385 / 229 / 12
Регистрация: 06.07.2011
Сообщений: 512
|
|
| 30.09.2011, 19:18 | |
|
в ISO таких стандартов нет)
у Страуструпа немного написано о случаях, когда использование С-приемов вредно. конкретно про ввод/вывод там вроде нету, но все же.
0
|
|
|
9 / 9 / 1
Регистрация: 01.02.2010
Сообщений: 35
|
|
| 30.09.2011, 19:26 | |
|
Надо просто помнить, что язык все же развивается, с появлением новых стандартов может возникнуть ситуация, когда новые версии компиляторов уже не будут поддерживать старые решения из С. Но это наверное маловероятно, пока что все делается для того, что бы поддерживать устаревший С, ведь даже на стандарте С89 до сих пор пишут немало программ. Пока что С это подмножество С++.
0
|
|
|
Заблокирован
|
||
| 30.09.2011, 19:33 | ||
Забил в яндекс "стиль написания кода компании гугл" первая же ссылка: http://code.google.com/p/gameboost/wiki/CodeStyle
0
|
||
|
9 / 9 / 1
Регистрация: 01.02.2010
Сообщений: 35
|
|
| 30.09.2011, 20:20 | |
|
Bers, я имел ввиду что нигде не записаны общие правила написания кода, которые должны соблюдаться всеми программистами на планете (человека именно это же интересовало). Это стандарт для программистов компании google, да он широко распространен, многие соблюдают именно его, но это ведь не единственный пример.
0
|
|
|
Заблокирован
|
||
| 30.09.2011, 20:36 | ||
Иначе, исходный код бы просто не от компилировался, либо UB. С++ поддерживает определённые функции си. Эта поддержка гарантируется стандартном с++. Поэтому, эти функции можно смело юзать в приплюснутом коде. Сам я предпочитаю использовать приплюснутый инструмент в приплюснотом коде. Я считаю, что если бы мне больше нравилась чисто сишная тема, то я учил бы си, а не с++. Си и С++ исповедуют разные философии. Писать на с++, как на си - значит рисковать не понять философию родного языка.
0
|
||
| 30.09.2011, 20:36 | |
|
Помогаю со студенческими работами здесь
17
Проверьте правильность написания кода и коментарии
Правила написания кода Стиль написания кода Правила написания кода Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|