Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Стиль кода для С и С++ в одном проекте 
:(
    Опции темы
drug007
Дата 3.10.2014, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Добрый день.
Поделитесь опытом, пожалуйста, у кого в проекте есть и сишный и плюсовый код - используете ли вы один стиль кода или разный для разных языков? Проекту нужен рефакторинг и возникла мысль что разный стиль кода позволит дополнительно различать сишный и плюсовый код, а практика показала, что некоторые испытывают некоторые сложности с этим.
PM MAIL   Вверх
Lukkoye
Дата 3.10.2014, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 23.3.2013

Репутация: 1
Всего: 1



Цитата(drug007 @  3.10.2014,  08:33 Найти цитируемый пост)
Проекту нужен рефакторинг и возникла мысль что разный стиль кода позволит дополнительно различать сишный и плюсовый код, а практика показала, что некоторые испытывают некоторые сложности с этим. 


суржик - плохо.
мухи отдельно, котлеты отдельно - хорошо.

рефактор: 
сишный код - в сишные библиотеки.
плюсовый код - в плюсовые библиотеки.

там, где нужна интеграция сишного апи в оо-рхитектуру, изготавливается класс-обертка.

пример:

libpq - сишная библиотека.
libpqxx - с++ библиотека. Которая является оо-оберткой над libpq, и использует все преимущества ооп.

в проекте с++ используют libpqxx, без необходимости вообще знать о существовании libpq

PM MAIL   Вверх
baldina
Дата 4.10.2014, 23:46 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



один стиль. синтаксис одинаковый, разные стили делают чтение неудобным.
Цитата(drug007 @  3.10.2014,  08:33 Найти цитируемый пост)
разный стиль кода позволит дополнительно различать сишный и плюсовый код

зачем? С++ довольно таки совместим с С. функции в С в С++ всегда помечены как extern "C", этого достаточно.
PM MAIL   Вверх
drug007
Дата 6.10.2014, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Цитата(baldina @  4.10.2014,  23:46 Найти цитируемый пост)
зачем? С++ довольно таки совместим с С. 

Да вот сам пока точно не знаю, потому и советуюсь. Но мысль такая есть. smile

Цитата(baldina @  4.10.2014,  23:46 Найти цитируемый пост)
 функции в С в С++ всегда помечены как extern "C", этого достаточно. 

Встречалось, что одна и та же библиотека при сборке в сишном проекте собиралась с сишным ABI, а при сборке в плюсовом с плюсовым ABI. И спокойно себе жили две разные бинарные версии одной и той же библиотеке в одном и том же продукте одновременно. 
PM MAIL   Вверх
baldina
Дата 6.10.2014, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



если оно в с++ собирается как с++, о каком С тогда речь?
PM MAIL   Вверх
drug007
Дата 6.10.2014, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Просто есть код на Си, который используется и в сишном проекте и в плюсовом в виде source library. 
PM MAIL   Вверх
baldina
Дата 6.10.2014, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



drug007, не стоит один и тот же код компилировать как С и С++ в разных проектах. несмотря на совместимость, могут быть тонкие места, и зачем вам поддерживать два варианта кода, если можно один.
пример: sizeof('A') в C и C++ имеет разное значение

PM MAIL   Вверх
drug007
Дата 6.10.2014, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Полностью согласен. Но факт имел место быть. Поэтому и возникла мысль о разном стиле, чтобы это наводило людей о мысли, что что-то не так. В проекте участвуют и будут участвовать люди с навыками разного уровня, а тут вроде как лишняя подсказка. А переписывать все на один язык точно никто не будет.
PM MAIL   Вверх
Antonoff
Дата 6.10.2014, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 6.10.2014

Репутация: нет
Всего: нет



Цитата(drug007 @ 3.10.2014,  08:33)
Добрый день.
Поделитесь опытом, пожалуйста, у кого в проекте есть и сишный и плюсовый код - используете ли вы один стиль кода или разный для разных языков? Проекту нужен рефакторинг и возникла мысль что разный стиль кода позволит дополнительно различать сишный и плюсовый код, а практика показала, что некоторые испытывают некоторые сложности с этим.

Надо избавляться от Си, и вообще переходить на Java. Си это ни капли не ООП. Си это ассемблер, маскирующийся под язык высокого уровня. Наличие кода на Си неприемлемо в современном проекте.

Это сообщение отредактировал(а) Antonoff - 6.10.2014, 20:53
PM MAIL   Вверх
drug007
Дата 6.10.2014, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Цитата(Antonoff @  6.10.2014,  15:48 Найти цитируемый пост)
Надо избавляться от Си, и вообще переходить на Java. Си это не фига не ООП. Си это ассемблер, маскирующийся под язык высокого уровня. Наличие кода на Си неприемлемо в современном проекте. 

Излишне категоричное утверждение. Холиваров нам не надо.
PM MAIL   Вверх
Guinness
Дата 7.10.2014, 07:15 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 21.6.2009
Где: Зеленоград

Репутация: нет
Всего: 10



Цитата(Antonoff @  6.10.2014,  16:48 Найти цитируемый пост)
Надо избавляться от Си, и вообще переходить на Java. Си это ни капли не ООП. Си это ассемблер, маскирующийся под язык высокого уровня. Наличие кода на Си неприемлемо в современном проекте.

Так толсто, что лодка идёт ко дну.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0654 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.