<p dir="ltr">Oops. Am dat send la un mesaj gol. Moving on :)<br></p>
<p dir="ltr">Am mai facut un pull request pentru issue-ul deschis de Laura (cu metoda din confoguration.py) si vreau mai departe sa implementez interfata pentru tool-uri.</p>
<p dir="ltr">Intrebarea mea este daca abordarea cu abstract base class care sa fie mostenit de fiecare tool e potrivita. Asta ar putea schimba si modulehandler care in loc sa caute in fisiere dupa tool-urile potrivite ar cauta prin clasele ce mostenesc interfata.</p>
<p dir="ltr">Constantin</p>
<div class="gmail_quote">On Jul 6, 2015 4:28 PM, "Constantin Mihalache" <<a href="mailto:mihalache.c94@gmail.com">mihalache.c94@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr"><br>
On Jul 5, 2015 1:20 AM, "Andrei Tuicu" <<a href="mailto:andrei.tuicu@gmail.com" target="_blank">andrei.tuicu@gmail.com</a>> wrote:<br>
><br>
> Imi cer scuze, am marcat cumva mailul ca citit fara sa raspund si am uitat ulterior. :)<br>
><br>
> În data de 29 iunie 2015, 18:52, Laura Vasilescu <<a href="mailto:laura@rosedu.org" target="_blank">laura@rosedu.org</a>> a scris:<br>
>><br>
>> 2015-06-25 16:07 GMT+03:00 Constantin Mihalache <<a href="mailto:mihalache.c94@gmail.com" target="_blank">mihalache.c94@gmail.com</a>>:<br>
>> > Am vazut ca pe wiki, la sectiunea Detected Errors, sunt cateva<br>
>> > puncte care sunt legate de coding style (number of lines in a function<br>
>> > exceeded maximum admitted, number of character in a line exceeded<br>
>> > maximum admitted, etc.) asa ca am implementat un modul pentru C<br>
>> > (codingstyle.py) care, deocamdata, verifica numarul de caractere de pe<br>
>> > o linie si numarul de linii din fiecare functie si returneaza o lista<br>
>> > de erori.<br>
>> ><br>
>> > Other things done:<br>
>> > *am schimbat run-tests.sh conform issue-ului "Use pushd and popd..."<br>
>> > *am adaugat un test pentru a verifica modulul codingstyle.py<br>
>> > (works as expected)<br>
>> ><br>
>> > Toate modificarile sunt in fork-ul asta [1].<br>
>><br>
>><br>
>> Sună foarte bine! Mă bucur că deja ai început chiar să și faci patch-uri! :)<br>
>> Singura observație e că codul respectiv poate duplică munca depusă și<br>
>> am prefera să ne bazăm cât mai mult pe tool-uri deja existente, if<br>
>> any.<br>
>><br>
>> Spre exemplu, pentru a verifica coding style-ul în C ar exista mai<br>
>> multe variante, fiecare coding style având particularitățile lui. De<br>
>> regulă, la programare și SO se merge destul de mult pe linux kernel<br>
>> coding style care poate fi verificat rulând scriptul <a href="http://checkpatch.pl" target="_blank">checkpatch.pl</a> din<br>
>> tree-ul de kernel.<br>
><br>
><br>
> Este aici o mica lista de tool-uri ce planuiam sa le integram in robocheck: <br>
> <a href="https://github.com/rosedu/robocheck/wiki/tools" target="_blank">https://github.com/rosedu/robocheck/wiki/tools</a><br>
> <br>
>><br>
>> <br>
>><br>
>> @RD: ai idee pe unde era tree-ul vechi cu sursele scrise în C? Aparent<br>
>> nu e niciun link către el pe wiki și ar fi fost util.<br>
><br>
> <br>
> Found it: git://<a href="http://ixlabs.cs.pub.ro/robocheck.git" target="_blank">ixlabs.cs.pub.ro/robocheck.git</a><br>
><br>
>> O referință cu niște tool-uri care erau integrate în versiunea<br>
>> respectivă ar fi lucrarea mea de licență (cap. 02):<br>
>> <a href="http://swarm.cs.pub.ro/~laura/p/bachelor-thesis/thesis.pdf" target="_blank">http://swarm.cs.pub.ro/~laura/p/bachelor-thesis/thesis.pdf</a><br>
>><br>
>> > Nelamuriri:<br>
>> > 1. Nu stiu daca am gresit sau nu ca am scris eu parsarea surselor<br>
>> > si ca nu am integrat un tool care sa verifice chestii. (mi s-a parut<br>
>> > mai usor de controlat)<br>
>><br>
>> See above. :D<br>
>> E întradevăr mai ușor de controlat, dar se poate ajunge la cod<br>
>> duplicat. De regulă tool-urile externe se modifică mai greu și<br>
>> mentenanța rămâne la ei.<br>
>><br>
>><br>
>> > 2. Daca abordarea mea e in regula, in fisierul codingstyle.py sunt<br>
>> > hardcodate la inceput numarul maxim de caractere pe linie si numarul<br>
>> > maxim de linii dintr-o functie si presupun ca ar trebui mutate intr-un<br>
>> > fisier de configurare or something. (any advice?)<br>
>><br>
>> Ca idee generală, ar fi util să fie configurabile. Chiar dacă modulul<br>
>> este pentru C, aș vedea mai degrabă un astfel de modul care să fie<br>
>> configurabil per limbaj de programare (deci să nu stea în C, unless<br>
>> funcționalitatea nu e strict dependentă de C). Dacă funcționalitatea<br>
>> (în cazul ăsta lungimea linilor și a funcțiilor) nu depinde de limbaj,<br>
>> ar trebui ca și în repo să fie reflectat ca atare și să fie ușor de<br>
>> configurat. (deci dacă ar fi așa, nu ar mai fi <a href="http://checkpatch.pl" target="_blank">checkpatch.pl</a> din<br>
>> kernel)<br>
><br>
><br>
> Eu as vota totusi varianta cu checkpatch, deoarece verifica mai mult decat lungimea liniilor si a functiilor. :) <br>
> Daca ramane aceasta varianta, eu as sugera sa te uiti pe implementarile modulelor de DrMemory si Valgrind, sa vezi<br>
> cum sunt apelate si cum este strans output-ul lor si apoi sa implementezi un modul similar pentru checkpatch. Tin minte<br>
> ca voiam sa definesc o interfata comuna tuturor modulelor pentru a fi foarte clar ce trebuie implementat, dar nu mai stiu<br>
> daca am facut-o.<br>
>><br>
>><br>
>> > 3. Ar fi ok introducerea de unit-test-uri ?<br>
>><br>
>><br>
>> Ar fi chiar super! :)<br>
><br>
><br>
> +1 pentru unit teste. :) <br>
>><br>
>><br>
>> > Awaiting feedback,<br>
>><br>
>> Scuze de delay, am fost plecată. O să fiu mai responsive. :)<br>
>><br>
>> Laura<br>
>><br>
><br>
> Am facut merge la pull request-ul tau. Pe viitor, as recomanda sa creezi branch-uri pentru a putea face pull request-uri separate (ex. branch pt unit-teste, branch pt implementarea unui modul), astfel incat sa le putem face merge separat. :)<br>
> <br>
> Cheers,<br>
> Andrei <br>
><br>
><br>
> _______________________________________________<br>
> robocheck-dev mailing list<br>
> <a href="mailto:robocheck-dev@lists.rosedu.org" target="_blank">robocheck-dev@lists.rosedu.org</a><br>
> <a href="http://lists.rosedu.org/listinfo/robocheck-dev" target="_blank">http://lists.rosedu.org/listinfo/robocheck-dev</a><br>
</p>
</blockquote></div>