[so] [ Depunctare tema 2]

Adrian Stanciu adrian.stanciu.pub at gmail.com
Fri Apr 24 21:40:29 EEST 2015


2015-04-24 19:57 GMT+03:00 Cosmin Boaca via so <so at cursuri.cs.pub.ro>:
> 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


More information about the so mailing list