Utilizarea doxygen pentru a lucra cu codul sursă pe gis

Soluția problemei scrierii de software începe cu definirea problemei și stabilirea sarcinilor. Apoi, în cazul general, se urmează dezvoltarea cerințelor, proiectarea detaliată, codarea și depanarea, testarea și, în cele din urmă, întreținerea. Înainte de a începe codarea, dezvoltatorul trebuie să știe ce va scrie, cu ce, cum trebuie să se comporte și în ce formă va fi folosit. Prin urmare, faza de proiectare este foarte importantă. Inclusiv, pentru că este necesar să se determine posibilitatea utilizării codului altcuiva sau a propriului dvs. scris înainte, precum și să se ia în considerare problemele legate de integrarea sa în propriul proiect.







Până în prezent, există o cantitate imensă de coduri de subiecte diferite, care sunt disponibile sub licențe diferite în rețea și pot ușura semnificativ durata de viață a unui programator care începe să lucreze cu sarcini legate de GIS.

Să luăm în considerare un exemplu: să spunem că întrebarea a apărut atunci când ați scris software-ul pentru vectorizarea unui anumit tip de hărți, printre altele, va trebui să aveți codul pe mâini care ar trebui să lege cardul. În domeniul GIS, există mai multe proiecte deschise, unde această sarcină a fost deja rezolvată, de exemplu GRASS. GRASS este distribuit sub licența GPL și oricine își poate studia codul sursă și, dacă se dorește, le poate folosi în software-ul lor în conformitate cu termenii licenței (citiți-l cu atenție înainte de a utiliza acest cod).

Instalarea Doxygen

GRASS a fost creat inițial pentru platformele Unix, iar compilarea sa pentru Windows nu este o sarcină ușoară (despre instalarea GRASS). După ce am studiat descrierea, vom asigura că programul conține codul necesar. După descărcarea surselor, este ușor să afli că volumul lor este mai mare de 560 de mii de linii, ceea ce face ca unul să se gândească la studierea mai eficientă a acestora.







Cum să navigați într-un astfel de volum de cod al altcuiva? Și chiar mai mult, obțineți niște părți de acolo. Trebuie remarcat faptul că codul este scris în C pur și acest lucru agravează cazul, deoarece abordările procedurale și modulare în programare fac parsificarea unei alte persoane adesea un proces destul de complex. Să mergem și să folosim pachetul software Doxygen (www.stack.nl/

Descărcați și instalați Doxygen pentru Windows, care are o interfață grafică de utilizator.

Analiza codului

O vom folosi pentru a începe să lucrăm ca expert.

În pasul 3 trebuie să specificați dosarul în care trebuie încărcat Doxygen (de exemplu C: \ Program Files \ doxygen \ bin \).

Apoi treceți la al patrulea pas și apăsați "Start". Procesul de procesare este suficient de lung și poate dura câteva minute.

După sfârșit, în directorul indicat în fila "Proiect" din "Directorul destinație", va apărea directorul html. în care trebuie să găsiți fișierul index.html și să îl executați. Ar trebui să vedeți ceva de genul:

Doxygen, în afară de prelucrarea sursei, a găsit documentația și a inclus-o în structura generală. Printre altele, acesta caută foldere cu nume docs / doc / manual / etc (lista este configurată în modul expert), ia fișiere de acolo și le include în structura generală. Apropo, documentația GRASS în sine a fost procesată cu ajutorul acestui program.

Apoi vine întrebarea de a găsi codul necesar, acest lucru poate ajuta citirea documentației și învățarea funcțiilor relevante ale programului. În cazul nostru, știind că comanda de transformare se numește g.transform. căutați codul corespunzător: grass-6.2.3 / general / g.transform / crs.c | h. În acest caz, este dificil să se găsească, de regulă, o abordare comună pentru a localiza codul necesar.

Deschideți "Listă de fișiere" din stânga arborelui și căutați fișierele necesare.

rezultate

Realizând codul găsit într-o clasă separată, obținem o modalitate simplă și convenabilă de a lega cartela:

În apendicele la articol, puteți găsi această clasă și un exemplu de utilizare a acesteia în MSVC ++ 8.0.

Cu matematica reală a procesului de calcul al coeficienților pentru o transformare polinomală cu un număr minim de puncte pot fi găsite într-un articol special. Alte exemple de implementare și teste de conversie sunt de asemenea disponibile în notele relevante.







Articole similare

Trimiteți-le prietenilor: