Mam 3 małe funkcje (15 wierszy), czyli jaki jest najlepszy sposób ich uporządkowania? umieścić je we własnej przestrzeni nazw w pliku nagłówkowym?Porządkowanie funkcji narzędziowych w C++
Odpowiedz
Utwórz osobny plik o nazwie utility.hpp
i umieścić wszystkie deklaracje funkcji w nim, najlepiej pod własnym obszarze nazw, które mogą być tylko utility
, a następnie umieścić definicje w utility.cpp
. Jeśli którakolwiek z funkcji narzędziowych jest szablonem funkcji, musisz umieścić definicję w samym nagłówku.
Unikaj definiowania narzędzia class
i umieszczania w nim wszystkich funkcji narzędziowych jako członków static
. To poważnie zły pomysł. Jedną z przyczyn złego jest to, że nie może skorzystać z wyszukiwania nazwy zależnej od argumentu (ADL).
Zamiast tego należy użyć przestrzeni nazw.
przykład,
//utility.hpp
namespace utility
{
void function1();
void function2();
void function3();
template<typename T>
void function4()
{
//function template definition should be here!
}
}
a następnie
//utility.cpp
#include "utility.hpp"
namespace utility
{
void function1()
{
//code
}
void function2()
{
//code
}
void function3()
{
//code
}
}
utworzyć oddzielną klasę użytkową z Util.h (oświadczenia) i Util.cpp z realizacji. Możesz także zabrać go dalej, mając interfejs narzędziowy, ale zależy.
* klasa użytkowa * to zły pomysł. – Nawaz
może chcesz sprawdzić google styleguide for c++ dla niektórych przydatnych TIPPS na ten temat ... jednak: istnieje wiele styleguides jak można robić rzeczy w wielu mniej lub bardziej użytecznych sposobów ... Najlepszym rozwiązaniem jest, aby wybrał jedną styleguide An następnie trzymaj się go dla całego projektu dla spójności ... (chyba że Ty/twoje zespoły poczujecie się bardzo nieswojo ...)
Nie czytałem przewodnika po stylu w tym stylu, ale ogólnie nie jest to dobry przewodnik w stylu C++. –
uważam, że jest to bardzo interesujące, ponieważ istnieje wyjaśnienie na temat plusów i minusów każdego tematu ... ale jestem otwarty na sugestie, jeśli możesz podać lepszy przewodnik na styl ;-) – xmoex
Przewodnik po stylu gogli jest bardzo zły –
- 1. Porządkowanie kodu w języku C++
- 2. Porządkowanie funkcji chmurowych dla Firebase
- 3. Umieszczanie etykiet narzędziowych - WPF
- 4. Porządkowanie kodu javascript
- 5. Porządkowanie wypowiedzi po rozróżnieniu
- 6. Jak uzyskać ustawienia TYPO3 w plikach narzędziowych?
- 7. Porządkowanie modeli Ember.js w podfolderach?
- 8. Porządkowanie bałaganu Git
- 9. Ponowne porządkowanie SQL wierszy
- 10. Porządkowanie metod rozszerzeń
- 11. Porządkowanie szablonów w podkatalogach w grze
- 12. Porządkowanie shaderów GLSL w silniku OpenGL
- 13. Porządkowanie moich dokumentów w trybie org.
- 14. Efektywne porządkowanie niestandardowe w Julia DataFrames?
- 15. Porządkowanie folderu Android src w podfolderach (Eclipse)
- 16. Dobra praktyka: porządkowanie views.py w aplikacjach Django
- 17. Porządkowanie zasobów Azure Media w magazynie Blob
- 18. Jak cofnąć porządkowanie setkey w data.table?
- 19. Jak używać rozszerzeń i metod narzędziowych w znacznikach?
- 20. zignorować konkretne pliki js w narzędziach narzędziowych Chrome podczas debugowania
- 21. przypisanie funkcji i wywołanie funkcji w C++?
- 22. C/C zmienna ++ tablica w nagłówku funkcji
- 23. Autogenerate komentarze funkcji C/C++ w Eclipse
- 24. Entity-framework-7 Porządkowanie płynnych konfiguracji API w oddzielnej klasie
- 25. Zastępowanie wywołania funkcji w C
- 26. Pisanie wskaźnik funkcji w C
- 27. Zasada funkcji wirtualnych w C++
- 28. wykorzystanie usuniętych funkcji w C++
- 29. Implementacja flag funkcji w C#
- 30. Śledzenie wywołań funkcji w C
Z wyjątkiem; nazwij klasy util.h \ cpp i util przestrzeni nazw; jego bardziej conveniant =) –
Nie ma również potrzeby przedrostka 'utility_' w nazwie funkcji. To jest przestrzeń nazw dla –
@ VJo: Oczywiście nie miałem na myśli, funkcja powinna być poprzedzona prefiksem 'utility_'. Ale wygląda na to, że może to zmylić czytelników (zwłaszcza początkujących). Więc zredagowałem mój post. – Nawaz