Jovan Vukićević commented on issue #7 at Jovan Vukićević / azrs-tracking

Jovan Vukićević
2023-01-29T18:27:53Z

Korišćen je alat ClangTidy u kombinaciji sa CMake build sistemom da bi se automatski refaktorisao kod.

Da bi mogla da se pokrene komanda "run-clang-tidy", potrebno je da pokrenemo cmake sa opcijom "-DCMAKE_EXPORT_COMPILE_COMMANDS=ON". Nakon toga je pokrenuta navedena komanda, kojoj je izlaz preusmeren u tekstualni fajl, da bi znali koje promene će ona primeniti, bez da ih primeni na samim fajlovima. Budući da je clang tidy pokrenut sa opcijom "-tool=modernize-*", on primenjuje veliki broj refaktorizacija na kodu, sto čini izlazni fajl ctOutput.txt dosta težim za tumačenje. Lakši način da saznam koje promene bi napravio ClangTidy sam dobio njegovom primenom na jedan fajl (u ovom slučaju file.cpp). Sačuvao sam bekap stare verzije i uporedio promene u kodu. Nakon inspekcije promena, i dubljeg proučavanja prethodno dobijenog tekstualnog fajla, pokrenut je ClangTidy nad svim fajlovima u projektu. Kada sam proverio promene u repozitorijumu korišćenjem komande "git status", shvatio sam da je ClangTidy refaktorisao i eksternu biblioteku u direktorijumu libs, zato što je i ona ucestvovala u Cmake-u, što originalno nisam želeo. Ovaj problem sam rešio tako što sam u komit dodao samo promene koje nisu bile u tom direktorijumu, dok sam sve promene nad libs direktorijumom revertovao.

Merge Request