2015-04-24 19:57 GMT+03:00 Cosmin Boaca via so <[email protected]>: > Salut, > > Am cateva intrebari in legatura cu depunctarile primite : > > 1. Pe windows m-ati depunctat cu -0.2 puncte pentru warning-urile generate > de scheletul de cod. Daca va uitati in fisier warning-urile provin din codul > functiilor read_line, get_word, get_argv. >
Eu nu găsesc în scheletul de Windows acele warning-uri. La tine apar pentru că nu ai folosit complet acel schelet care definea simbolul _CRT_SECURE_NO_WARNINGS. > 2. In tema scrie clar : > > cd director pentru schimbarea directorului curent > > Nu este specificat nicaieri ca acel "director" poate sa nu apara sau poate > sa fie ~ . Mi se pare ca depunctarea este nefondata din acest motiv. De > asemenea nu scrie nicaieri ca trebuie sa mearga la fel cum merge cd in bash. > cd ~ apare în exemplul de comenzi din secțiunea de precizări generale. În mod normal nu scădeam dacă nu tratai aceste cazuri; în cazul tău am scăzut pentru că programul crăpa deoarece nu ai verificat dacă directorul este NULL. Să crape o aplicație este unul dintre cele mai neplăcute bug-uri. Mai mulți colegi au implementat aceste funcționalități. > 3. Redirectarea output-ului comenzii cd . Care output ? Vreau si eu un > exemplu in care "output-ul" comenzii cd este redirectat gresit de programul > meu. (Rezultatul finit difera) > Tu nu ai făcut o redirectare propriu-zisă pentru comenzile interne, ci doar ai creat un fișier. Mesajul pe care l-am trecut la corectare este: "redirectarea output-ului comenzii cd nu este făcută corect: tu doar creezi un fisier". Un exemplu în care varianta ta nu merge este următorul: * cd director_care_nu_exista 2> err În varianta ta nu se va scrie nimic în fișierul err. > Pe langa aceste lucruri mai am si o mica observatie legata de enunt. Am > pierdut 3 ore la debugging pentru ca in enunt scrie : > > “îngrădiți” argumentele liniei de comandă a CreateProcess cu ghilimele. > > Defapt argumentele trebuie ingradite intre apostroafe, acest lucru fiind > facut si in scheletul de cod. ( Initial alesesem sa folosesc acelasi schelet > pentru parsarea argv ca si pe linux, iar dupa cele 3 ore de debug degeaba am > folosit scheletul de windows ). Asta pentru că în anumite cazuri argumentele conțin deja ghilimele. Vom ținem cont de feedback-ul tău. Per total tema ta a fost printre cele mai bune, mi-a plăcut implementarea ta cu wrappere. Sper că aceste depunctări să te motiveze, să faci teme și mai bune (deși, cum am mai spus, tema ta a fost aproape perfectă). Aceste depunctări au rolul de a vă indica unele greșeli iar voi să învățați ceva din acestea. Cred că nu ai fi preferat în schimb un comentariu de genul "tema e ok, au trecut toate testele ... nota 10". Așteptăm feedback-ul tău la finalul semestrului; în cazul în care vrei să ne raportezi ceva mai devreme, legat de teme, poți să îmi trimiți mie un e-mail privat și o să-l fac eu cunoscut echipei de SO. Adrian _______________________________________________ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
