Форум программистов, компьютерный форум CyberForum.ru

Как более грамотно называть функцию и заголовочный файл, в котором она находится? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Alex Z
27 / 1 / 0
Регистрация: 29.06.2011
Сообщений: 136
17.08.2012, 09:27     Как более грамотно называть функцию и заголовочный файл, в котором она находится? #1
Этот вопрос у меня возник недавно, после того, как я нечайно состряпал ошибку. У меня был массив left_boundary_Vteta [SIZE_TIME], а также функция left_boundary_Vteta(). Так вот, оказалось, что так нельзя. Имена совпадают, вылазиет ошибка. Я назвал функцию func_left_boundary_Vteta() и всё заработало. И тут у меня возник вопрос: а как быть с названием заголовочного файла, в котором эта функция лежит? У них названия то тоже совпадают: функция func_left_boundary_Vteta() лежит в заголовочном файле func_left_boundary_Vteta.h. Хотя при этом компилятор ошибку не выдаёт. Мне это теперь кажется несколько странным. То есть, я так понимаю, имена функции и заголовочного файла, в котором эта функция находится, могут совпадать? Так что ли?

Но а как будет лучше то? Есть ведь что-то типо "культуры программирования". Дескать "можно сделать и так и вот так, но вот таким способом более грамотно". Так вот что делать с названиями? Например, функцию, меняющую местами 2 переменные swap(x,y) я поместил в заголовочный файл swap.h. Может лучше было назвать его SWAP.h? Так он хоть как-то отличается (большие и маленькие буквы в С++ это вроде существенный момент). Или, например, функцию, подсчитывающую наибольший общий делитель двух чисел nod(a,b) лучше наверное поместить в файл под названием NOD.h?

Одним словом, мне стало интересно, как поступают в этом случае профессиональные программисты? Можете кто-нибудь привести мне пару примеров с названиями ваших функций и названиями заголовочных файлов, в которые Вы их складываете? (это мой вопрос).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2012, 09:27     Как более грамотно называть функцию и заголовочный файл, в котором она находится?
Посмотрите здесь:

C++ пдскажите функцию которая выводит русский текст на экран и его заголовочный файл с++ но не system ( " echo текст " );
Заголовочный файл .h C++
C++ Как восстановить заголовочный файл sal.h?
C++ Как подключить свой заголовочный файл в Borland 3.1
C++ Как добавить заголовочный файл?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DaskOFF
 Аватар для DaskOFF
112 / 112 / 9
Регистрация: 02.05.2012
Сообщений: 521
Записей в блоге: 1
17.08.2012, 09:39     Как более грамотно называть функцию и заголовочный файл, в котором она находится? #2
для 1 функции заголовочный файл?
Alex Z
27 / 1 / 0
Регистрация: 29.06.2011
Сообщений: 136
17.08.2012, 09:53  [ТС]     Как более грамотно называть функцию и заголовочный файл, в котором она находится? #3
Цитата Сообщение от DaskOFF Посмотреть сообщение
для 1 функции заголовочный файл?
Да. Это неправильно?
Байт
 Аватар для Байт
13955 / 8786 / 1222
Регистрация: 24.12.2010
Сообщений: 15,913
17.08.2012, 10:17     Как более грамотно называть функцию и заголовочный файл, в котором она находится? #4
Цитата Сообщение от Alex Z Посмотреть сообщение
Да. Это неправильно?
Это полное ваше право, но так обычно не делают. Нерентабельно.
Вообще, поймите такую вещь, что заголовочные файлы просто включаются (вставляются) директивой #include в транслируемый файл (исходный модуль) еще до всякой компиляции.
Перед компилятором оказывается просто один текстовой файл.
Так, вы имеете полное право написать
C
1
2
#include "my.txt"
#include "fu_fu.cpp"
и прекомпилятор все это прекрасно скушает, конечно, если эти файлы есть.
Просто программисты так договорились, что в файлы с расширением .h, .hpp помещаются описания типов данных и прототипы функций, причем обычно в одном таком файле собираются "родственные" структуры и функции.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.08.2012, 03:38     Как более грамотно называть функцию и заголовочный файл, в котором она находится? #5
Цитата Сообщение от Alex Z Посмотреть сообщение
Например, функцию, меняющую местами 2 переменные swap(x,y) я поместил в заголовочный файл swap.h.
Направление правильное. Если довести идею до конца, то нужно так делать. Прототип функции swap(x,y) разместить в заголовочном файле swap.h. Реализацию этой функции - в файле swap.cpp. В этом файле сделать #include "swap.h". Функцию main() - в файле main.cpp. В этом файле тоже сделать #include "swap.h". Если функций много, то по тому же принципу действовать, но, конечно, для каждой функции по файлу не выделять, а, прототипы всех функций - в заголовочный файл (название по желанию) , их реализации - в файл с таким же названием, но с расширением .cpp (там сделать include заголовочного файла), функцию main() - в файл main.cpp (тут тоже сделать include заголовочного файла).
Avazart
 Аватар для Avazart
6897 / 5137 / 252
Регистрация: 10.12.2010
Сообщений: 22,578
Записей в блоге: 17
18.08.2012, 03:51     Как более грамотно называть функцию и заголовочный файл, в котором она находится? #6
Например, функцию, меняющую местами 2 переменные swap(x,y)
Тут таких два нюанса:

1. Ф-ция swap уже есть в std::, поэтому лучше свою ф-цию обвернуть в свое пространство имен
C++
1
2
3
4
namespace my
{
void swap(T& x,T& y);
}
2. Логично сделать ф-цию swap() шаблонной и в таком случае она будет размещаться целиком в h-файле
Yandex
Объявления
18.08.2012, 03:51     Как более грамотно называть функцию и заголовочный файл, в котором она находится?
Ответ Создать тему
Опции темы

Текущее время: 02:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru