| Termin | Definicja |
|---|---|
| Parametry domyślne | Parametry domyślne to wartości przyjmowane, gdy wywołanie procedury lub funkcji ich nie podaje. Parametry domyślne w funkcjach i procedurachParametry domyślne to ustalone wcześniej wartości, które zostają użyte wtedy, gdy podczas wywołania funkcji, procedury albo metody nie zostanie przekazany konkretny argument. Dzięki temu nie trzeba za każdym razem wpisywać wszystkich danych, jeżeli część z nich może mieć typowe, przewidywalne ustawienie. Mechanizm ten upraszcza kod, ogranicza liczbę powtarzających się wartości i ułatwia tworzenie interfejsów programistycznych, z których można korzystać zarówno w prosty, jak i bardziej szczegółowy sposób. Przykładowo funkcja odpowiedzialna za zmianę rozmiaru obrazu może przyjmować szerokość, wysokość oraz sposób interpolacji. Jeżeli sposób interpolacji nie zostanie wskazany, zostanie użyty wariant zapisany jako domyślny. Osoba wywołująca funkcję podaje więc tylko te informacje, które są istotne w danym przypadku. Pozostałe ustawienia są uzupełniane automatycznie zgodnie z regułami przewidzianymi przez autora kodu. Parametr domyślny nie oznacza wartości przypadkowej. Powinien być dobrany tak, aby odpowiadał najczęstszemu zastosowaniu, był bezpieczny i nie powodował nieoczekiwanych skutków ubocznych. W dokumentacji warto opisać zarówno sam typ parametru, jak i jego wartość początkową oraz sytuacje, w których należy ją zastąpić inną opcją. Parametry domyślne a argumenty przekazywane jawnieW wywołaniu funkcji można pozostawić parametr bez wartości i pozwolić programowi zastosować ustawienie początkowe albo przekazać argument jawnie. Oba sposoby mogą prowadzić do tego samego rezultatu, lecz różnią się czytelnością i znaczeniem. Pominięcie argumentu zwykle sygnalizuje, że standardowe zachowanie jest wystarczające. Podanie wartości pokazuje natomiast, że konkretne ustawienie zostało wybrane świadomie. Załóżmy, że funkcja zapisująca dane przyjmuje nazwę pliku oraz format zapisu. Format może mieć ustawienie domyślne odpowiadające najczęściej używanemu typowi pliku. W prostym wywołaniu wystarczy podać nazwę, natomiast w bardziej szczegółowym scenariuszu można określić inny format. Takie rozwiązanie pozwala zachować krótki zapis w typowych przypadkach, a jednocześnie nie odbiera możliwości pełnej konfiguracji. Ważne jest odróżnienie braku argumentu od przekazania wartości pustej, zerowej albo równej Przy projektowaniu interfejsu warto ograniczać liczbę parametrów domyślnych, jeżeli ich wzajemne zależności są skomplikowane. Zbyt wiele ukrytych ustawień może utrudnić odczytanie działania funkcji. W takich sytuacjach korzystniejsze bywa użycie obiektu konfiguracyjnego, osobnej struktury ustawień albo kilku wyspecjalizowanych funkcji o jasno określonym przeznaczeniu. Parametry domyślne w różnych językach programowaniaW wielu językach parametry domyślne zapisuje się bezpośrednio w definicji funkcji. W uproszczonej postaci może to wyglądać następująco:
Składnia i ograniczenia zależą od konkretnego języka. W niektórych środowiskach wartości domyślne muszą być znane już podczas definiowania funkcji. W innych można wyznaczać je dopiero w chwili wywołania, na przykład na podstawie bieżącej daty, konfiguracji programu albo stanu określonego obiektu. Warto sprawdzić, czy parametr jest obliczany raz, podczas ładowania definicji, czy przy każdym kolejnym użyciu funkcji. Szczególnej uwagi wymagają wartości zmienne, takie jak listy, słowniki, tablice i obiekty. Jeżeli język przechowuje taki obiekt współdzielony między wywołaniami, modyfikacja dokonana przy jednym użyciu może wpłynąć na kolejne użycia. Powstają wtedy trudne do wykrycia błędy, ponieważ wynik zależy od kolejności wykonywania operacji. Bezpieczniejszym rozwiązaniem bywa ustawienie wartości pustej i utworzenie nowego obiektu wewnątrz funkcji. Podobny problem może dotyczyć obiektów konfiguracyjnych przekazywanych przez referencję. Jeżeli funkcja zmienia otrzymane dane, należy jasno określić, czy jest to zamierzone zachowanie. W przeciwnym razie lepiej utworzyć kopię ustawień albo zastosować obiekt niemutowalny. Ma to znaczenie zwłaszcza w większych programach, w których ta sama funkcja jest używana przez wiele modułów. Parametry domyślne w konfiguracji urządzeń i oprogramowaniaParametry domyślne występują nie tylko w kodzie źródłowym. Są spotykane również w systemach operacyjnych, aplikacjach, sterownikach oraz ustawieniach urządzeń. Mogą określać sposób wyświetlania danych, kolejność sortowania, zachowanie powiadomień, format plików, metodę uwierzytelniania albo reakcję programu na brak wybranej opcji. Zwykle mają zapewnić działanie bez konieczności przechodzenia przez rozbudowaną konfigurację. Ustawienie początkowe może jednak nie odpowiadać każdemu zastosowaniu. Program może uruchamiać się z trybem oszczędnym, podstawową jakością obrazu, ograniczonym zakresem powiadomień albo uproszczonym widokiem. Zmiana takiego ustawienia powinna być poprzedzona sprawdzeniem, czego dotyczy dana opcja i czy wpływa ona na inne elementy systemu. Nie każda wartość widoczna w formularzu ma charakter niezależny; niektóre ustawienia są powiązane i zmiana jednego parametru może zmodyfikować zachowanie kilku funkcji. Przywrócenie parametrów domyślnych może pomóc po nieudanej zmianie konfiguracji, ale nie zawsze oznacza usunięcie wszystkich danych użytkownika. W jednym programie przywrócone zostaną wyłącznie ustawienia interfejsu, a w innym również profile, reguły działania lub zapisane preferencje. Przed użyciem polecenia resetowania należy sprawdzić opis operacji oraz, gdy jest to możliwe, wykonać kopię ważnych ustawień. Typowe problemy z parametrami domyślnymiJednym z częstych problemów jest założenie, że ustawienie początkowe zawsze jest najlepsze. W praktyce zostało ono dobrane dla szerokiej grupy zastosowań i może nie uwzględniać konkretnego sprzętu, rodzaju danych ani oczekiwanego poziomu ochrony. Innym problemem jest niezgodność dokumentacji z rzeczywistym zachowaniem programu, szczególnie po aktualizacji aplikacji lub biblioteki. Trudności może powodować również niejawna zmiana wartości domyślnej. Po aktualizacji funkcja może zacząć korzystać z innego formatu, trybu pracy albo poziomu kontroli błędów. Kod, który wcześniej działał poprawnie, nadal może się uruchamiać, lecz jego wynik będzie inny. Jeżeli określone zachowanie ma znaczenie dla danych lub zgodności między komponentami, warto przekazywać kluczowe argumenty jawnie zamiast polegać na ustawieniu początkowym. W diagnostyce warto porównać kilka elementów: definicję funkcji, miejsce wywołania, dokumentację używanej wersji oraz rzeczywistą wartość przekazywaną w trakcie działania. Przydatne bywa rejestrowanie konfiguracji, testowanie wywołania z pominiętym argumentem i osobne testowanie z wartością podaną jawnie. Takie porównanie pozwala ustalić, czy problem wynika z błędnego parametru, innej wersji oprogramowania, zapisanej konfiguracji użytkownika czy też z odmiennej interpretacji wartości pustej. Kiedy sprawdzić parametry domyślne w serwisie komputerowymWeryfikacji może wymagać sytuacja, w której aplikacja uruchamia się z nieoczekiwanymi ustawieniami, urządzenie działa inaczej po aktualizacji, a przywrócenie konfiguracji nie daje przewidywalnego rezultatu. Przed zgłoszeniem problemu warto zanotować, jaka operacja została wykonana, jakie wartości wybrano, kiedy pojawiła się zmiana oraz czy dotyczy ona jednego programu, czy całego środowiska pracy. Pomocne może być także zachowanie komunikatu błędu i informacji o wersji używanego oprogramowania. W przypadku trudności z rozróżnieniem ustawień aplikacji, systemu i urządzenia można skorzystać z pomocy serwisu komputerowego. Warszawskie Pogotowie Komputerowe 24/7 może zostać wskazane jako miejsce, w którym analizuje się konfigurację, sprawdza zależności między ustawieniami i ustala, czy przyczyną jest parametr domyślny, jego nadpisanie, błąd programu czy problem techniczny komputera. Takie podejście ułatwia dobranie rozwiązania do rzeczywistego sposobu korzystania ze sprzętu, zamiast zmieniać ustawienia bez rozpoznania ich wpływu. |