-
Notifications
You must be signed in to change notification settings - Fork 3
1. Tworzenie funkcji
Optymalnym rozwiązaniem jest umieszczanie kodu źródłowego funkcji w osobnych plikach. Dzięki temu rozwiązaniu zyskujemy na skalowalności projektu. Daje to między innymi wymienione poniżej korzyści:
- możliwość wyodrębnienia kodu
- wykorzystanie kodu (dołączanie plików) do innych projektów
- łatwość utrzymania kodu
- tworzyć- większe związki leksykalne danego języka programowania
- Functions.h
- Functions.cpp
W pierwszym pliku będziemy tworzyli deklaracje funkcji, w drugim ich implementacje. Tak mogłaby wyglądać zawartość pliku Functions.h
#ifndef H_FUNCTIONS_SCI
#define H_FUNCTIONS_SCI
// tutaj będziemy umieszczali deklaracje funkcji
#endif//H_FUNCTIONS_SCIa tak pliku Functions.cpp
#include "Functions.h"
// tutaj będziemy umieszczali implementacje funkcjiNależy zwrócić uwagę, że pliki posiadają dyrektywy. Dyrektywa zawarte w pierwszym pliku powodują zabezpiecza przed powtórnym dołączaniem do kodu binarnego deklaracji. Natomiast dyrektywa w drugim pliku to dołączenie pliku nagłówkowego Functions.cpp.
Plik Functions.h - deklaracja funkcji
///
///Funkcja zwraca sumę dwóch liczb całkowitych
///
///@param a - parametr - składnik
///
///@param b - parametr - składnik
int sum(int a, int b);Plik Functions.cpp - implementacja funkcji
//Funkcja zwraca sumę dwóch liczb całkowitych
int sum(int a, int b)
{
return (a + b);
}Warto pamiętać o zasadach wymienionych poniżej:
- Plik nagłówkowy oraz plik implementacyjny powinny mieć taką samą nazwę, co jest to wygodne w utrzymaniu kodu
- Nazwa pliku powinna być czytelna, odzwierciedlać jego zawartość
- Do zapisu nazwy dyrektywy w pliku nagłówkowym powinniśmy stosować duże litery
- Pamiętaj, żeby nigdy w swoich projektach (dotyczy to wszystkiego tego co sami deklarujemy), nie stosować polskich znaków diakrytycznych.
- Warto zachować kolejność deklaracji w pliku nagłówkowym i implementacyjnym.
- Bardzo ważne - bezwzględnie wymagam dokumentowania kodu. Sposób dokumentowania może być zgodny z tym, który wykorzystuję w omawianych tutaj rozwiązaniach.
Podobnie, jak zostało to omówione powyżej w odniesieniu do języka C/C++, dobrą zasadą jest umieszczenie funkcji w osobnym pliku, np:
- SCIPython.py
Dzięki temu:
- kod projektu jest skalowalny
- pliki można współdzielić
- wielokrotnie wykorzystywać w innych projektach
- docelowo tworzyć z nich moduły
- biblioteki
- inne - większe związki leksykalne danego języka programowania
SCIPython.py
którego zawartość mogłaby wyglądać jak poniżej:
"""
Funkcja dodaje dwie liczby
"""
def sum(a, b):
return (a + b)
pass