28/03/2024

Od samouczków do AI: Dokumentacja techniczna w innym świetle

Jedyną rzeczą, które pojawia się w życiu programisty w ilości większej niż kawa jest dokumentacja techniczna. Wydaje się to dość proste – masz problem, przeglądasz kilka stron i otrzymujesz odpowiedź, ot tak. Ale czy na pewno? Każdy, kto kiedykolwiek wpadł w króliczą norę wątków na Stack Overflow o 2 nad ranem lub sennie mrużył oczy na dokumentami API z rosnącym podejrzeniem, że są napisane w starożytnym, zapomnianym dialekcie, powie ci, że nie do końca.

Samouczki pomijają kluczowe kroki, przewodniki referencyjne przypominają obszerne podręczniki, a fora, choć pomocne, mogą wysłać cię w dziką pogoń za jedną igłą ukrytą w stogu siana informacji. Ale jest światełko w tunelu, a my jesteśmy tutaj, aby pomóc ci je znaleźć.

Dokumentacja techniczna i jej rodzaje

Kiedy słyszysz słowa „dokumentacja techniczna”, nigdy nie możesz być pewien, czego dokładnie się spodziewać. Każdy z rodzajów materiałów dostarczanych przez producenta oprogramowania różni się formą i przeznaczeniem.

  • Samouczki:
    • Cel: Prowadzenie użytkowników przez nowe koncepcje lub zadania, krok po kroku.
    • Znaczenie: Idealne dla początkujących, pragnących zdobyć praktyczne doświadczenie lub dla ekspertów, aby odświeżyć wiedzę na temat nowych funkcji lub technik w systemach.
  • Przewodniki referencyjne
    • Cel: Zapewnienie szczegółowych informacji na temat poleceń, funkcji, składni i parametrów.
    • Znaczenie: Pomaga tym, którzy potrzebują bardziej zaawansowanej wiedzy lub szybkiego wyszukiwania składni w celu zapewnienia dokładności.
  • Cookbook:
    • Cel: Oferowanie rozwiązań typowych problemów, sformatowanych jako zwięzłe opisy problemów z odpowiednimi rozwiązaniami.
    • Znaczenie: Przydatne do skutecznego rozwiązywania znanych problemów, uczenia się najlepszych praktyk i wdrażania sprawdzonych rozwiązań w zakresie optymalizacji i bezpieczeństwa.
  • Fora:
    • Cel: Ułatwienie wsparcia opartego na społeczności poprzez pytania i odpowiedzi, dyskusje i wspólne doświadczenia.
    • Znaczenie: Zapewnia rzeczywiste rozwiązania i porady, wypełniając lukę między formalną dokumentacją a praktycznym zastosowaniem, jednocześnie tworząc poczucie wspólnoty wśród profesjonalistów.
  • Dokumentacja w formie Wiki
    • Cel: Kompilacja treści generowanych przez społeczność, które ewoluują w miarę upływu czasu, oferując niestabilną platformę do dzielenia się wiedzą.
    • Znaczenie: Wiki są szczególnie cenne, ponieważ obejmują szeroki zakres tematów, od podstawowych po zaawansowane techniki, stale aktualizowane przez społeczność.
  • Baza wiedzy (Knowledge Base):
    • Służy jako wewnętrzna baza wszystkich informacji, ustrukturyzowana w łatwym do nawigacji formacie, zazwyczaj utrzymywana przez organizację w celu wspierania zarówno użytkowników, jak i członków zespołu. Oto przykład bazy wiedzy.
    • Znaczenie: Baza wiedzy pomaga w rozwiązywaniu typowych zapytań i problemów, jednocześnie zmniejszając potrzebę bezpośredniego wsparcia. Jest to zorganizowany, przeszukiwalny zbiór istotnych informacji, wskazówek i kroków rozwiązywania problemów.

Konwencje w dokumentacji technicznej

Otwieranie dokumentacji technicznej jest jak otwieranie pudełka czekoladek – nigdy do końca nie wiesz co tam znajdziesz. Na szczęście, podobnie jak czekoladki, dokumentacja zawiera przewodnik na pudełku, trzeba tylko wiedzieć jak go odczytać. Pewne konwencje, z którymi mamy do czynienia na pudełku, mają ogromne znaczenie – ludziom przyzwyczajonym do określonego formatu łatwiej będzie dotrzeć do tego, czego szukają.

Wspólne formatowanie

Wspólne formatowanie jest pierwszą rzeczą, którą zauważysz. Oznaczone elementy syntaxu pomagają odróżnić to, czego można dotknąć (polecenia) od tego, co gryzie (komentarze). Rzeczywiste przykłady kodu pokazują nie tylko, jak coś zrobić, ale także jak to się robi w świecie rzeczywistym. Zobaczymy tam też diagramy i wykresy, ponieważ czasami dobry obrazek oszczędza tysiąc stron przewijania

Terminologie

Terminologie to kolejna warstwa. Chodzi tu o odróżnienie „indeksów” od „wyzwalaczy” i „widoków” od „procedur składowanych”. Następnie mówi się o właściwościach ACID – nie, nie takich, które wymagają rękawiczek do obsługi, ale o zasadach, które zapobiegają rozpłynięciu się danych w chaosie. I nie zapominajmy o wskaźnikach wydajności, gdzie słowa takie jak „opóźnienie” i „przepustowość” przypominają nam, że szybsze i bardziej wydajne jest wiecznym dążeniem.

Konwencje strukturalne

Konwencje strukturalne mogą brzmieć nudno, ale to dzięki nim ciężej jest się zgubić. Sekcja szybkiego startu oferuje jasne, proste instrukcje, które pomogą ci rozpocząć pracę. API pokazuje wszystkie tylne drogi i ukryte ścieżki. Z drugiej strony, Przewodniki Rozwiązywania Problemów radzą sobie (a przynajmniej pomagają radzić sobie) z błędami i usterkami. Nie zapominajmy też o najlepszych praktykach – prawdziwej mądrości starszych.

Jak opanować przeglądanie dokumentacji technicznej

Zawężając obszar poszukiwań

Poznanie kilku sztuczek może zaoszczędzić Ci wiele czasu, który w przeciwnym razie zostałby zmarnowany na nakłonienie wyszukiwarki do współpracy:

  • Konkrety, konkrety, konkrety: Zacznij od szczegółowych zapytań. Szerokie terminy zarzucają szerokie sieci, dając wiele, często nieistotnych wyników. Na przykład: wyszukiwanie „SQL injection prevention techniques” daje bardziej ukierunkowane wyniki niż szeroki termin „SQL”, kierując Cię do konkretnych, przydatnych informacji
  • Dokładne wyszukiwanie fraz za pomocą cudzysłowów: Ujęcie frazy w cudzysłów sygnalizuje wyszukiwarkom, by szukały dokładnie tej frazy. Na przykład „optymalizacja indeksu w PostgreSQL” koncentruje wyszukiwanie na konkretnych tematach w dokumentacji PostgreSQL.
  • Słowa kluczowe: Używanie technicznych słów kluczowych w zapytaniach wyszukiwania prowadzi do bardziej technicznej i obiektywnie bardziej pomocnej dokumentacji. Słowa kluczowe takie jak „zarządzanie transakcjami”, „replikacja danych” lub „partycjonowanie bazy danych” mogą prowadzić do bardziej wyspecjalizowanych tekstów, które bezpośrednio odpowiadają Twoim potrzebom.
  • Wykluczanie terminów za pomocą znaku minus: Użycie znaku minus (-) przed terminem, który chcesz wykluczyć z wyników wyszukiwania, może znacznie zawęzić wyniki. Technika ta jest szczególnie przydatna, gdy popularne słowa mają wiele znaczeń w różnych kontekstach, np. Java -kawa.
  • Zaawansowane opcje wyszukiwania: Wiele wyszukiwarek i witryn z dokumentacją oferuje zaawansowane funkcje wyszukiwania, które pozwalają użytkownikom zawęzić wyniki według kryteriów, takich jak data publikacji, domena witryny lub typ dokumentu.

Skimming czyli przeglądanie bez dogłębnego czytania

Zacznij od zeskanowania wstępu, podsumowania i wszelkich wniosków, ponieważ te sekcje często pokazują, co będzie w dalszej części tekstu. Nagłówki i podtytuły są po to, aby poprowadzić cię do tych informacji, które są dla Ciebie najbardziej istotne, nie zmuszając Cię przy tym do przebrnięcia przez każde słowo

Korzystanie ze spisu treści/konspektu dokumentu może przenieść Cię do odpowiednich sekcji. Jeśli istnieje słowo kluczowe, które musi pojawić się w odpowiedzi, której szukasz, szybkie wyszukiwanie (Ctrl + F lub Cmd + F) przetransportuje Cię bezpośrednio do odpowiednich informacji. Podczas przeglądania, rozważ zaznaczenie kluczowych punktów lub sporządzenie notatek.

Przykładowy kod

Czyż przykładowy kod nie jest najlepszym co dokumentacja techniczna ma do zaoferowania? – To przecież właśnie on łączy teorię z rzeczywistymi zastosowaniami. Pamiętaj jednak o:

  • Zrozumieniu kontekstu: Przed użyciem kodu upewnij się, że w pełni rozumiesz jej kontekst.
  • Analizuj i analizuj: Poświęć trochę czasu, aby przejść przez kod linia po linii. Dojdź do tego, co robi każdy segment, jak współdziała z innymi częściami i dlaczego jest niezbędny dla ogólnej funkcji.
  • Testuj w kontrolowanym środowisku: Rzeczą oczywistą jest to, że każdy kod należy najpierw przetestować w kontrolowanym lub programistycznym środowisku. Pozwala to obserwować jego zachowanie, zrozumieć jego wpływ i wprowadzić niezbędne poprawki bez narażania bazy danych na żywo.
  • Weź wersję pod uwagę: Oprogramowanie i platformy zmieniają się, podobnie jak ich kompatybilność z kodem. Ponieważ dokumentacja techniczna nie zawsze jest aktualna, zgodność wersji danego kodu jest zbyt często pomijana. Sprawdzanie dokumentacji pod kątem uwag dotyczących wersji lub szukanie próbek zgodnych z wersją może uchronić Cię przed potencjalnym stresem.

Współpraca ze społecznością

Wiele osób boi się zadawać pytania online, ale czy słusznie? Choć prawdą jest, że niektóre posty na Reddicie z prośbą o pomoc mogą wywoływać chaos, jest to niesamowite narzędzie do zdobywania wiedzy i informacji, których nie znajdziesz w oficjalnej dokumentacji. Świat forów i forów dyskusyjnych jest rozległy i zróżnicowany, od ultra-specyficznych po ogólne.

Protip: Jeśli nie możesz znaleźć odpowiedzi na swoje pytanie, śmiało opublikuj celowo błędną odpowiedź. Zgodnie z prawem Cunninghama najszybszym sposobem na uzyskanie właściwej odpowiedzi w Internecie nie jest zadanie pytania, ale opublikowanie złej odpowiedzi.

AI też może pomóc

Jeśli czujesz się przytłoczony/a ilością tekstu, przez który trzeba przebrnąć, żeby być na bieżąco z dokumentacją techniczną, zawsze możesz utworzyć własny GPT i sprawić, by przeglądał dane za Ciebie. Chociaż potrzebny jest do tego płatny plan Chatu GPT, nie ma innych rozwiązań, które pozwoliłyby ci „porozmawiać” z dokumentacją. Oto jak można to zrobić.

Navigating technical documentation with GPT

Podsumowując

Czasami wydaje się, że od samouczków po fora, bazy wiedzy i przewodniki referencyjne, wszystko próbuje cię zmylić. Ale zaufaj nam, dokumentacja może być przydatna. Oczywiście, jeśli używasz jej poprawnie.

Podchodząc do tego z odpowiednim nastawieniem i strategiami, takimi jak doprecyzowanie wyszukiwanych terminów w celu uzyskania precyzji, przeglądanie w celu szybkiego zidentyfikowania najbardziej przydatnych części, zrozumienie kontekstu przytoczonego kodu przed jego zastosowaniem oraz angażowanie się w społeczność w celu uzyskania różnych perspektyw, narzędzia te przekształcają się ze źródeł zamieszania w filary wsparcia.