Projekt Open3D

Ta strona zawiera szczegółowe informacje na temat projektu dotyczącego pisania technicznego zaakceptowanego do udziału w sezonie Dokumentów Google.

Podsumowanie projektu

Organizacja open source:
Open3D
Pisarz techniczny:
Rohan Rathi
Nazwa projektu:
Dokumentacja techniczna Pythona i interfejsów API C++
Długość projektu:
Standardowa długość (3 miesiące)

Opis projektu

Streszczenie:

Projekt zostanie podzielony na 4 części: Uaktualnianie i rozszerzanie przewodnika dla współtwórcy Open3D Kompletna dokumentacja interfejsu API Pythona Kompletna dokumentacja interfejsu API C++ Wysoka dokumentacja podstawowych struktur danych

Opis:

W swoim projekcie planuję podzielić go na 4 części:

Zamierzam wypełnić i zaktualizować przewodnik dla nowych użytkowników, który zawiera szczegółowe, szczegółowe instrukcje tworzenia kodu źródłowego, tworzenia dokumentacji i dołączania do społeczności programistów. Poza przygotowaniem pisemnego przewodnika zamierzam nagrać film z dokładnymi instrukcjami tworzenia kodu źródłowego kanału w YouTube. Dodam także przewodnik, z którego dowiesz się, jak nowi deweloperzy mogą wnosić swój wkład w dokumentację, wprowadzając zmiany w kodzie źródłowym utworzonym przez sfinksa przy użyciu programów pybind i doxygen.

Rozszerz dokumentację interfejsu Python API. Obecnie interfejs Python API zawiera podstawowe ciągi dokumentów dla klas i funkcji członkowskich, które zapewniają niejasny opis tych funkcji. Planuję przeformułować dokumentację interfejsu Python API, aby była bardziej zrozumiała i wygodna. Zamierzam też dodać linki do odpowiednich koncepcji grafiki 3D wykorzystywanych w różnych dziedzinach (np. „Wewnętrzna matryca używana w aparacie”).

Wypełnij dokumentację interfejsu C++ API. Obecnie w dokumentacji C++ nie ma odpowiedników takich ciągów w porównaniu z dokumentacją Pythona. Zamierzam szczegółowo udokumentować zajęcia i powiązane z nimi funkcje członkowskie oraz dane członków .

Dokumentacja wysokiego i niskiego poziomu podstawowych struktur danych. Zamierzam zrozumieć kod różnych struktur danych, takich jak TriangleMesh, LineSet, Octree, i dodawać komentarze w bazie kodu z myślą o nowościach jako programistach oraz dla użytkowników. Ulepszamy samouczki, dodając też ogólną dokumentację dotyczącą zastosowań i koncepcji związanych ze strukturami. Podam szczegółowe przykłady użycia i dodam odpowiednie linki do pojęć związanych z wybranymi strukturami. Jeśli pozwoli na to czas, zajmę się prostszymi zadaniami, takimi jak dokumentowanie sposobu wykonywania pewnych zadań, które mogą pomóc nowym użytkownikom poznać oprogramowanie.

Harmonogram projektu –

1 sierpnia – 1 września:

Porozmawiaj z mentorem i omów szczegółowo poziom dokumentacji wymaganej w różnych częściach bazy kodu. Omów szczegółowo, w jaki sposób należy pogłębiać dokumentację niskopoziomowej i ogólnej. Przez ten czas zapoznam się też z bazą kodu i przeanalizuję pojęcia, aby lepiej je udokumentować.

Tydzień 1 i 2:

Będę aktualizować i rozszerzać przewodnik dla współtwórców. Ulepszę dokumentację tworzenia kodu źródłowego. Dodam też sekcję dla twórców dokumentów z informacjami o tym, jak nowi współtwórcy mogą pomagać w pracy z dokumentacją. Utworzę także film w YouTube zawierający szczegółowe instrukcje tworzenia kodu źródłowego.

Tydzień 3–5:

Będę pracować nad rozszerzeniem interfejsu Python API. Zredaguj istniejącą dokumentację i dodaj szczegółową dokumentację istniejących członków. Dodaję też odpowiednie linki do powiązanych pojęć, aby użytkownicy mogli je lepiej poznać.

Tydzień 6–8:

Bieżące dokumenty C++ są niekompletne w większości części biblioteki, więc będę spędzać większość czasu na uzupełnianiu dokumentów w C++.

Tydzień 9–11:

W tym czasie będę pracować nad podstawowymi strukturami danych. Przeorganizuj samouczki dotyczące każdej struktury danych. Przedstaw w nich ogólne omówienie i przedstaw szczegółowe przykłady użycia.

Ostatni tydzień:

W ostatnim tygodniu wykorzystam ostatni tydzień, aby przygotować ostateczny raport z 12-tygodniowego okresu raportowania. Przez ten czas będę też sprawdzać i finalizować dokumentację.