| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Стиль кода для С и С++ в одном проекте |
| Автор: drug007 3.10.2014, 08:33 |
| Добрый день. Поделитесь опытом, пожалуйста, у кого в проекте есть и сишный и плюсовый код - используете ли вы один стиль кода или разный для разных языков? Проекту нужен рефакторинг и возникла мысль что разный стиль кода позволит дополнительно различать сишный и плюсовый код, а практика показала, что некоторые испытывают некоторые сложности с этим. |
| Автор: baldina 4.10.2014, 23:46 | ||
один стиль. синтаксис одинаковый, разные стили делают чтение неудобным.
зачем? С++ довольно таки совместим с С. функции в С в С++ всегда помечены как extern "C", этого достаточно. |
| Автор: drug007 6.10.2014, 11:28 | ||
Да вот сам пока точно не знаю, потому и советуюсь. Но мысль такая есть.
Встречалось, что одна и та же библиотека при сборке в сишном проекте собиралась с сишным ABI, а при сборке в плюсовом с плюсовым ABI. И спокойно себе жили две разные бинарные версии одной и той же библиотеке в одном и том же продукте одновременно. |
| Автор: baldina 6.10.2014, 11:38 |
| если оно в с++ собирается как с++, о каком С тогда речь? |
| Автор: drug007 6.10.2014, 14:46 |
| Просто есть код на Си, который используется и в сишном проекте и в плюсовом в виде source library. |
| Автор: baldina 6.10.2014, 14:57 |
| drug007, не стоит один и тот же код компилировать как С и С++ в разных проектах. несмотря на совместимость, могут быть тонкие места, и зачем вам поддерживать два варианта кода, если можно один. пример: sizeof('A') в C и C++ имеет разное значение |
| Автор: drug007 6.10.2014, 15:45 |
| Полностью согласен. Но факт имел место быть. Поэтому и возникла мысль о разном стиле, чтобы это наводило людей о мысли, что что-то не так. В проекте участвуют и будут участвовать люди с навыками разного уровня, а тут вроде как лишняя подсказка. А переписывать все на один язык точно никто не будет. |
| Автор: Antonoff 6.10.2014, 15:48 | ||
Надо избавляться от Си, и вообще переходить на Java. Си это ни капли не ООП. Си это ассемблер, маскирующийся под язык высокого уровня. Наличие кода на Си неприемлемо в современном проекте. |
| Автор: drug007 6.10.2014, 16:01 | ||
Излишне категоричное утверждение. Холиваров нам не надо. |
| Автор: Guinness 7.10.2014, 07:15 | ||
Так толсто, что лодка идёт ко дну. |