[CSProjects] Coding style
Razvan Deaconescu
razvan at anaconda.cs.pub.ro
Mon May 7 16:05:35 EEST 2007
Vlad Dogaru wrote:
> Razvan Deaconescu wrote:
>> Salut!
>>
>> Observatii referitoare la coding style:
>>
>> <flame>
> O, da, fiecare cuvant arde ;-)
>> - eu folosesc TAB pentru indentare, desi nu am o problema cu 4 spatii
>> cat timp mi se specifica avantajele
> Setasem vim conform recomandarii Python si ramasese asa. Dar tab-urile
> sunt mai flexibile si ocupa doar un caracter, deci mai bine TAB. Scuze,
> dar dadusem ``copy-paste'' din reflexe, fara a ma gandi.
>
> Ar trebui totusi pus un modeline vim in fiecare fisier, ca sa nu ne
> trezim cu taburi cat toate zilele (a se citi: 8). Pentru cine nu
> foloseste vim, cred ca au si Gedit si altele optiuni asemanatoare.
>> - sa incercam sa pastram codul cat mai curat si fara brizbizuri; de
>> optimizari se ocupa compilatorul; nu trebuie sa ne spargem in figuri;
>> vrem sa fie codul clar
> Te referi la abuzarea faptului ca atribuirea este un operator? Cred ca
> ai dreptate, acum ca ma gandesc mai bine
>> - partea cu tipul functiei sus este ok pentru folosire ctags (parca); in
>> principiu eu nu scriu cod asa, dar nu am nimic impotriva, cat timp mi se
>> specifica avantajele acestei scheme
> Pai in afara de ctags (as prefera Doxygen, dar nu sunt sigur ca se
> exclud recirpoc in functii), mie mi se pare mai usor de citit, in sensul
> ca imediat deasupra unei acolade de pe coloana 1 e numele functiei. Si
> cu un rand mai sus e tipul ei. Compara:
>
> static struct nod* aloca_nod(int val)
>
> static struct nod*
> aloca_nod(int val)
mi se pare ca dureaza sa-ti plimbi privirea pe randul urmator; repet nu
am nici o problema in a se scrie altfel; e folosita destul de des metoda
asta si nu ma deranjeaza la culme :-)
<underware type="asbestos" value="on">
ce ma deranjeaza e modul de declarare a poiter-ului
static struct nod* NU
static struct nod * DA
compara
struct nod* a, b;
struct nod *a, b;
primul iti da, la o vedere prea sumara, impresia ca b este tot de tipul
struct nod* (adica tot pointer), cand el este de tipul struct nod (adica
o structura)
</underware>
alte observatii necesare:
parametrii functiilor care sunt structuri vor fi transmisi prin adresa
(pointer) pentru a nu incarca de pomana stiva; mai ales ca e posibil sa
vrem sa-i si modificam si daca ii modificam nu o sa se vada in
exteriorul functiei
Razvan
More information about the cspay-dev
mailing list