[so] Neclaritati depunctari
Razvan Deaconescu
razvan.deaconescu at cs.pub.ro
Mon Mar 16 09:27:56 EET 2015
Marius Ungureanu via so <so at cursuri.cs.pub.ro> writes:
> Salut,
>
> Am cateva neclaritati in legatura cu depunctarile generale:
Data viitoare să dai și link[1] să fie totul one click away.
> * -0.1: surse nesemnate;
> Un fisier semnat inseamna copyright in care se specifica autorul si
> licenta codului? Daca da, e ok MIT License? Daca nu, care e format-ul
> preferat?
E suficient să apară un comentariu sus cu numele și grupa autorului.
Orice care conține asta, inclusiv forme de licențiere, sunt
acceptate. Licențele pot fi open source, dar codul nu poate fi public;
vezi regulile[2].
> * -0.1: definiții de funcții non-statice în headere;
> Pe asta nu am inteles-o. Functiile statice in headere produc efecte
> laterale prin posibilitatea de a suprascrie functia in alt modul.
Funcțiile statice pot fi definite în headere dacă vrei să incluzi
aceeași funcție în mai multe module C. În general este cazul funcțiilor
statice inline. Nu este un comportament recomandat, dar sunt situații în
care face viața mai simplă.
Ce spune regula de mai sus este că NU ai voie să pui definiții de
funcții în headere. Dacă ai o situație particulară în care vrei să faci
asta, atunci trebuie să fie statice. E puțin probabil să ai nevoie, dar
dacă ai nevoie, fă-le statice.
> * -0.2: nu se eliberează memoria alocată; leak-uri de memorie;
> Trebuie luat in calcul si posibilitatea de primire a unui semnal de
> intrerupere si fortarea unui cleanup?
Nu.
> * -0.1: tab-uri amestecate cu spații pentru indentare; folosiți fie
> numai spații, fie numai tab-uri
>
> Pentru alinierea parametrilor in cazul liniilor mai lungi de 80 de
> caractere, este ok sa punem spatii dupa taburi (de 8 spatii) pana
> ajungem sa le avem unul sub altul, nu?
Da, e OK. Dar dacă aveți linii mai lungi de 80 de caractere și este
justificat să fie așa, nu e nevoie să le "spargeți" și apoi să le
aliniați.
Regulile de depunctare sunt importante, ținem la ele, dar nu vor fi
stricte. În măsura în care e justificat să fi încărcat o regulă, vom
ține cont de asta. De exemplu, linii mai lungi de 80 de caractere sau
funcții mai lungi. Dar să fie justificat; lenea nu e justificare :-)
Obiectivul este să aveți cod ordonat și lizibil nu să urmăriți la sânge
niște reguli care, ca orice reguli, pot fi prea stricte sau nerelevante
în anumite situații.
[1] http://ocw.cs.pub.ro/courses/so/teme/general#lista_depunctari
[2] http://ocw.cs.pub.ro/courses/so/meta/notare#reguli_de_realizare_a_temelor
Regul
More information about the so
mailing list