[so] [Tema1][Multi] Coding Style, Erori si Propagarea erorilor

Mihai Barbulescu b12mihai at gmail.com
Sun Mar 10 20:53:42 EET 2019


Salut Alex,

Am verificat ce e pe gitlab.cs.pub.ro, din punctul meu de vedere e OK
ce vad. Data viitoare daca cereti verificare pe vmchecker la
teste/submisii sa precizati va rog frumos username-ul de LDAP (e.g. in
cazul tau era
alexandru.mihai1708)

Identific o alta problema la priorityQueue.h -> nu l-ai protejat la
multiple inclusion in mai multe fisiere. Fie o faci cu #pragma once
fie o faci cu ceva de genul:

#ifndef MYSUPERUBERHEADER_FILENAME_H
#define MYSUPERUBERHEADER_FILENAME_H

/* semnaturi si macrouri */

#endif

unde MYSUPERUBERHEADER_FILENAME_H te asiguri ca il alegi ca macro
suficient de bine cat sa nu fie definit pe undeva.

Mai sunt curios o chestie si n-am eu timp s-o verific dar poate o faci
tu: in loc de

#define ERRORNOMEM -12
#define ERRORMEMBOUNDS -13

sa definesti in .h doua extern const int, dar la valori pozitive, si
in .c-ul lui priorityqueue unde le folosesti le setezi si valorile. Si
sa le folosesti p-alea ca return values - oare se mai plange
checkpatch.pl?

De asemenea vezi ca nu imi plac denumirile astea prea "generice" de
functii: insert, pop ... Vezi indicatiile generale de teme [1]:  -0.1:
denumire neadecvată a funcțiilor sau variabilelor (do_stuff, my_var) ;

[1] https://ocw.cs.pub.ro/courses/so/teme/general

On Sun, 10 Mar 2019 at 18:40, Alex Cosmin Mihai
<alexcosmin.mihai at gmail.com> wrote:
>
> Grozav!
>
> Multumesc frumos!
>
> Numai bine,
> Alex Mihai
>
> On Sun, 10 Mar 2019 at 14:59, Mihai Barbulescu <b12mihai at gmail.com> wrote:
>>
>> Salut Alex,
>>
>> Din ce descrii tu aici sunt doua probleme:
>> 1. Daca folosesti valorile "stas" din errno.h: EINVAL, ENOMEM etc.
>> atunci checkpatch.pl o sa se planga ca vrea sa fie valoarea intoarsa
>> negativa (adica -ENOMEM in loc de ENOMEM)
>> 2. Testul cu "faulty" malloc se asteapta sa introci codul de eroare 12
>> __valoare pozitiva__ (deci din multimea N*) sub ce forma vrei tu: ori
>> exit(12) ori return 12 - oricare din abordari e buna si acceptat si
>> modul in care imi returnezi tu valoarea 12 pozitiva nu prea imi pasa,
>> atat timp cat nu o folosesti ca valoarea hardcodata ci printr-un macro
>> sau un const int.
>>
>> On Sun, 10 Mar 2019 at 13:40, Alex Cosmin Mihai via so
>> <so at cursuri.cs.pub.ro> wrote:
>> > Checker-ul de coding style imi spunea sa returnez coduri de eroare negative de tipul "-ERRORNOMEM", iar in enunt spune ca valoarea returnata in cazul unei erori de malloc(), de exemplu, trebuie sa fie 12. Din aceasta cauza am schimbat codul sa returnez -ERRORNOMEM, dar am schimbat si definitia ERRORNOMEM in -12. Este corecta aceasta abordare?
>> >
>>
>> Pare a fi ok.
>>
>> > De asemenea, nu am folosit deloc functia DIE din laboratoare si nici nu am afisat nimic la STDOUT, nici STDERR in afara de output-ul comenzii top, iar erorile le-am propragat ca int-uri valori de return ale functiilor pana in functia main, unde in cazul in care o astfel de valoare este diferita de 0 o folosesc ca parametru pentru exit(). Este aceasta abordare corecta?
>>
>> Da e foarte buna abordarea asta.
>>
>> >
>> > As fi recunoscator daca cineva din echipa ar putea arunca un ochi peste codul meu care este incarcat si pe vmchecker si pe GitLab si sa-mi dea un ok / not ok.
>>
>> N-am apucat sa ma uit pe surse (poate s-o fac diseara cand am niste ragaz)
>>
>> --
>> Cu stimă,
>> Mihai Bărbulescu



-- 
Cu stimă,
Mihai Bărbulescu


More information about the so mailing list