Jako programiści czytamy więcej, niż piszemy. Zacząłem pracować w firmie, która używa kilku "dużych" pakietów Pythona; pakiety lub rodziny pakietów, które mają wysoki KLOC. Przykład: Zope.Poruszanie się w dużej bazie kodu Pythona szybciej
Mój problem polega na tym, że mam problemy z poruszaniem się po tym kodzie szybko/łatwo. Moja obecna strategia jest
- zacznę czytać moduł muszę zmienić/rozumieć
- uderzę importu, które muszę wiedzieć więcej
- dowiem gdzie kod źródłowy dla tego importu jest umieszczenie instrukcji debugowania Pythona (pdb) po zaimportowaniu i wyświetleniu echa modułu, który mówi mi, że jest to plik źródłowy
- Przechodzę do niego, w powłoce lub eksploratorze plików Vim.
- większość czasu sam moduł importuje więcej modułów i zanim ja to wiem Mam 10KLOC „na talerzu”
Alternatywnie:
- widzę metody/klasy I potrzeba aby dowiedzieć się więcej o
- Wykonuję wyszukiwanie (ack-grep) dla definicji tej metody/klasy w całym zakresie kodu (co może być uciążliwe, ponieważ baza kodowa jest częściowo w ~/.buildout-jajach)
- Znajduję jeden lub więcej fragmentów kodu, które definiują tę metodę/Klasa
- mam wydedukować, który z nich jest jeden muszę czytać
To kosztuje dużo czasu, który jest zrozumiały dla wielkiego kodzie. Ale mam wrażenie, że poruszanie się po dużej i nieznanej bazie kodu Pythona jest dość powszechnym problemem.
Poszukuję narzędzi technicznych lub strategicznych rozwiązań dla tego problemu. ...
Po prostu nie mogę Wyobraź sobie programistów Pythona za pomocą strategii opisanych powyżej.
https://github.com/mkomitee/vim-gf-python może Cię zainteresować, lub więcej po prostu: http://vim.wikia.com/wiki/Automatically_add_Python_paths_to_Vim_path –
Haha, jak mówią, "problemy pierwszego świata" ... jeśli moglibyśmy to zrobić z projektami w C (Które zwykle nie możemy, chyba, że surowy kod maszynowy to twoja filiżanka herbaty) KLOC prawdopodobnie byłby bliższy 100K; p –