Nieudokumentowana funkcja - Undocumented feature

Nieudokumentowana funkcja jest niezamierzona lub nieudokumentowane działanie sprzętu, na przykład instrukcja nieudokumentowane lub funkcji oprogramowania znajdują się w sprzęt komputerowy i oprogramowanie , które jest uważane za korzystne lub pożyteczne. Czasami dokumentacja jest pomijana z powodu przeoczenia, ale nieudokumentowane funkcje czasami nie są przeznaczone do użytku przez użytkowników końcowych , ale pozostawiane do wykorzystania przez dostawcę w celu wsparcia i rozwoju oprogramowania . Co więcej, niezamierzone działanie sprzętu lub oprogramowania, które okazuje się przydatne dla użytkowników, jest po prostu błędem , błędem lub dziwactwem.

Ponieważ dostawcy oprogramowania zwykle uważają, że dokumentacja oprogramowania stanowi umowę dotyczącą zachowania oprogramowania, nieudokumentowane funkcje są zazwyczaj nieobsługiwane i mogą być usuwane lub zmieniane według własnego uznania i bez powiadomienia użytkowników.

Niektóre defekty zgłaszane przez użytkowników są postrzegane przez programistów jako działające zgodnie z oczekiwaniami, co prowadzi do sformułowania „to nie jest błąd, to funkcja” (INABIAF) i jego odmian.

Sprzęt komputerowy

Czasami wykorzystywane są nieudokumentowane instrukcje, znane jako nielegalne kody operacyjne , w technologii MOS Technology 6510 w Commodore 64 i MOS Technology 6502 w komputerach Apple II . Podobnie programiści (zwłaszcza gry i demo ) na Commodore Amiga wykorzystują niezamierzone działanie jego koprocesorów do tworzenia nowych efektów lub optymalizacji.

W 2019 roku badacze odkryli, że tryb debugowania producenta, znany jako VISA, miał nieudokumentowaną funkcję w koncentratorach kontrolera platformy Intel , znanych jako chipsety i które są dostępne na większości płyt głównych z procesorami Intela, dzięki czemu tryb ten był dostępny na normalnej płycie głównej. Ponieważ chipset ma bezpośredni dostęp do pamięci, jest to problematyczne, głównie ze względów bezpieczeństwa.

Oprogramowanie

Nieudokumentowane funkcje (na przykład możliwość zmiany znaku przełącznika w MS-DOS , zwykle na myślnik ) mogą być dołączone w celu zapewnienia zgodności (w tym przypadku z narzędziami Unix ) lub ze względu na przyszłe rozszerzenia. Jednak; jeśli dostawca oprogramowania zmieni swoją strategię oprogramowania, aby lepiej dostosować ją do działalności biznesowej, brak dokumentacji ułatwia uzasadnienie usunięcia funkcji.

Nowe wersje oprogramowania mogą pomijać wzmianki o starych (prawdopodobnie zastąpionych) funkcjach w dokumentacji, ale zachować je zaimplementowane dla użytkowników, którzy się do nich przyzwyczaili.

W niektórych przypadkach błędy oprogramowania są określane przez programistów żartobliwie lub wygodnie jako nieudokumentowane funkcje. To użycie mogło zostać spopularyzowane w niektórych odpowiedziach Microsoftu na raporty o błędach w pierwszym produkcie Word dla Windows , ale nie pochodzi z tego. Najstarsza zachowana wzmianka w Usenecie pochodzi z 5 marca 1984 r. W latach 1969-1972 Sandy Mathes, programista systemów oprogramowania PDP-8 w Digital Equipment Corporation (DEC) w Maynard, MA, używał terminów „błąd” i „funkcja” w jej raportowaniu wyników testów, aby rozróżnić nieudokumentowane działania dostarczonego oprogramowania, które były odpowiednio niedopuszczalne i tolerowane . To użycie mogło być utrwalone.

Same nieudokumentowane funkcje stały się główną cechą gier komputerowych . Deweloperzy często umieszczają różne kody i inne specjalne funkcje („ pisanki ”), które nie zostały wyjaśnione w pakiecie, ale stały się częścią „szum” o grze w Internecie i wśród graczy. Nieudokumentowane cechy gier zagranicznych to często elementy, które nie zostały zlokalizowane z ich języka ojczystego.

Zamknięte interfejsy API mogą również mieć nieudokumentowane funkcje, które nie są ogólnie znane. Są one czasami wykorzystywane w celu uzyskania przewagi handlowej nad oprogramowaniem innych firm poprzez dostarczenie dodatkowych informacji lub lepszej wydajności dostawcy aplikacji.

Zobacz też

Bibliografia