2010-07-01 4 views
1

В моем проекте я использую две библиотеки: v8 и boost. Boost использует расширение .hpp для своих заголовков, в то время как v8 использует расширение .h для своих заголовков.Континентальные имена файлов заголовков между библиотеками C++

В конце дня, мой исходный код начинается так:

#include "v8.h" 
#include "boost/filesystem.hpp" 
... 

In other question I asked about this subject, общий ответ был, что это нормально, но я просто должен быть последовательным между именами.

Этот код хорошо компилируется, но стили/стандарты кодирования - все в порядке? Есть ли какое-либо решение этой проблемы (например, изменение всех .hpp на .h автоматически как-то?)

Спасибо. И жаль этих глупых вопросов.

ответ

3

Не беспокойтесь о непоследовательности, это не имеет значения. Слишком много времени часто тратят на такие подробности, и все виновны в этом.

Просто следуйте своим стандартам кодирования.

В конечном итоге вы будете использовать некоторую стороннюю библиотеку или несколько, которые используют разные соглашения, чем вы. Вы ничего не можете с этим поделать, и часто 2 из этих библиотек будут противоречить вашим стандартам и друг другу. Это касается не только расширений, но и для присвоения имен, таких как function_that_does_something vs FunctionThatDoesSomthing. Все в порядке.

Я бы настоятельно советовал не пытаться изменить чужую библиотеку, чтобы вписаться в ваш стандарт кодирования. То есть например, переименовать boost .hpp в .h. Это плохая идея, и когда вы хотите перейти на более новые версии библиотеки, это будет кошмар.

Проведите свое время, решив проблему, которую вы решаете, более элегантным способом, чем беспокоиться о таких деталях.

1

Все в порядке. Стандарты кодирования на самом деле не вступают в него, поскольку вам нужно идти с тем, что вам дано. Если пользователи v8 предоставляют только .h, а люди с ускорением предоставляют только .hpp, то вместо копирования одного набора файлов на другой выбор или предоставления собственных файлов заголовков оберток у вас есть несколько вариантов.

Оба варианта имеют свои недостатки для действительно сомнительных преимуществ, поэтому я не буду беспокоиться о том, что вам нужно включить два разных расширения файлов.

Смежные вопросы