Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для DKOI
24 / 24 / 0
Регистрация: 08.09.2010
Сообщений: 136

Вопрос по стандартам написания кода

30.09.2011, 18:38. Показов 2156. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Положим, что я пишу код на С++ и использую расширения .cpp для файлов, но при этом использую, в большинстве своем, функции, наследованные из С, а из С++, по большому счету, использую только STL и, иногда, string. Что стандарты говорят по поводу такого? Допустимо ли это, или нет?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.09.2011, 18:38
Ответы с готовыми решениями:

Оценка стиля написания кода
Здравствуйте! Я к вам пожаловал не с очередной проблемой. Код у меня рабочий. Меня интересует то, насколько стандартен мой стиль...

Стиль написания кода(читабельность и прочее)
Недавно делал тестовое задание для поиска работы, но мне сказали, что код не совсем корректно написан. Задание:Написать рекурсивный и не...

Спрашиваю совет по стилю написания кода
#include <vector> #include <string> class Errors { private: size_t i; //Глобальный счетчик циклов. std::string...

16
385 / 229 / 12
Регистрация: 06.07.2011
Сообщений: 512
30.09.2011, 18:44
стандартов по написанию кода нет, насколько я знаю. есть рекомендации. а что за ф-ции используются из С, аналогов которым нет в С++?
0
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
30.09.2011, 18:46
Цитата Сообщение от Paporotnik Посмотреть сообщение
стандартов по написанию кода нет
Ну это как сказать.
0
 Аватар для DKOI
24 / 24 / 0
Регистрация: 08.09.2010
Сообщений: 136
30.09.2011, 18:48  [ТС]
Я не говорю, что аналогов нет. Просто, например, ну не могу я терпеть cin, cout и прочие "прелести" библиотек *stream >< Старые добрые printf, scanf и иже с ними как-то роднее.
Ну а что тогда в рекомендациях?
0
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
30.09.2011, 18:51
Цитата Сообщение от DKOI Посмотреть сообщение
Ну а что тогда в рекомендациях?
А сами то как думаете. Для чего это их все таки сделали...
0
 Аватар для DKOI
24 / 24 / 0
Регистрация: 08.09.2010
Сообщений: 136
30.09.2011, 18:55  [ТС]
Цитата Сообщение от fasked Посмотреть сообщение
А сами то как думаете. Для чего это их все таки сделали...
По запросу в гугл выдаются в основном стили оформления кода. Есть 101 правило и рекомендация программиста на с++, но там много буков, хотелось бы выжику. Да и они субъективны. А хотелось бы объективного от ISO или подобных.
0
9 / 9 / 1
Регистрация: 01.02.2010
Сообщений: 35
30.09.2011, 18:56
Стандарты тоже бывают, например работодатель может потребовать от вас соблюдать определенный формат кода (например если в компании трудятся 10-ки программистов, которым нередко приходится коллективно что то разрабатывать, ввод жесткого стандарта будет способствовать уменьшению ошибок и просто увеличит скорость работы людей)
Но в подавляющем большинстве случаев все зависит только от вас, поэтому как хотите так и пишите. Просто существуют некоторые соглашения, которые облегчают процесс чтения вашего кода другими людьми
0
 Аватар для DKOI
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
 Аватар для DKOI
24 / 24 / 0
Регистрация: 08.09.2010
Сообщений: 136
30.09.2011, 19:11  [ТС]
Цитата Сообщение от [Федя] Посмотреть сообщение
Просто принято например, что объявление констант пишется заглавными буквами, или те же расстановки отступов. Это что то вроде правил хорошего тона.
Но это все оформление кода, и то что вы написали - абсолютно естественно (по крайней мере для меня). То есть, если я правильно вас понял, никакие стандарты мне не запрещают, работая на C++, положить, например, болта на *stream и использовать С функции?
0
9 / 9 / 1
Регистрация: 01.02.2010
Сообщений: 35
30.09.2011, 19:16
Да. То, какую функцию использовать - scanf или cin, это дело исключительно вашего вкуса (если иначе не оговорено в вашем контракте), это то, что можно назвать вашим индивидуальным стилем программирования.
1
 Аватар для DKOI
24 / 24 / 0
Регистрация: 08.09.2010
Сообщений: 136
30.09.2011, 19:17  [ТС]
Цитата Сообщение от [Федя] Посмотреть сообщение
Да. То, какую функцию использовать - scanf или cin, это дело исключительно вашего вкуса (если иначе не оговорено в вашем контракте), это то, что можно назвать вашим индивидуальным стилем программирования.
Это и хотел узнать. Спасибо.
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
Цитата Сообщение от [Федя
;2028734]Bers, я имел ввиду что нигде не записаны общие правила написания кода, которые должны соблюдаться всеми программистами на планете
Все программисты соблюдают правила тех языков программирования, на которых они пишут.
Иначе, исходный код бы просто не от компилировался, либо UB.

С++ поддерживает определённые функции си. Эта поддержка гарантируется стандартном с++.
Поэтому, эти функции можно смело юзать в приплюснутом коде.

Сам я предпочитаю использовать приплюснутый инструмент в приплюснотом коде.
Я считаю, что если бы мне больше нравилась чисто сишная тема, то я учил бы си, а не с++.

Си и С++ исповедуют разные философии. Писать на с++, как на си - значит рисковать не понять философию родного языка.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.09.2011, 20:36
Помогаю со студенческими работами здесь

Проверьте правильность написания кода и коментарии
Задача: Написать программу которая принимает в качестве аргумента имя файла f с русским текстом и печатает его в точности по одному...

Обработка ошибок в процессе написания кода
Допустим есть большая программа. Десяток(ки) файлов, файлы эти в папках. Часто используется проверка в функциях на адекватные...

Правила написания кода
Всем привет!Читала о правильном написании кода, отступы, что был &quot;елочкой&quot;, но до меня так и не дошло, как это на практике делается. Буду...

Стиль написания кода
Имеется внешний класс. Внутри этого внешнего класса объявлен private static класс. Клиенты внешнего класса не имеют представления о...

Правила написания кода
Я вот до сих пор не понимаю, как происходит такая вещь. Допустим: у меня есть Главная страница сайта &lt;b&gt;index.php&lt;/b&gt; и есть...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
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
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru