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

Alex Cosmin Mihai alexcosmin.mihai at gmail.com
Sun Mar 10 22:23:22 EET 2019


Salut Mihai,

Multumesc mult pentru feedback!
Voi remedia chestiunile indicate si o sa revin cu rezultatul folosirii
extern const int.

Numai bine,
Alex Mihai

On Sun, 10 Mar 2019 at 20:53, Mihai Barbulescu <b12mihai at gmail.com> wrote:

> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so/attachments/20190310/647073a4/attachment-0001.html>


More information about the so mailing list