C fråga

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
baron3d
EF Sponsor
Inlägg: 1353
Blev medlem: 1 oktober 2005, 23:58:43
Ort: Torestorp

Inlägg av baron3d »

Jag sällar mig till "en return" skaran.
Fast multipla return kan vara bra fiffiga.
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Att jämföra C å ASM e nog lite som äpplen och päron.
I C försöker man i största mån att inte använda goto alls. Tror det t.o.m. funnits förslag på att ta bort goto i vissa kompilatorer? Men så nödvändigt anser jag dock inte själv det vara, då det faktiskt kan vara praktiskt i ett fåtal fall.

Jag har satt mig in i ett antal större projekt och dess källkoder (bl.a. Linux-kerneln och Asterisk för att nämna några), och där ser man heller aldrig funktioner som sparar undan ett returvärde till slutet av funktionerna.
Däremot försöker man alltid att göra så små, men effektiva kompakta funktioner som gör det dom ska göra och inget annat.
Det gör nog mest till att det inte blir varken rörigt eller svårdebuggat med flera return-satser.

Mvh
speakman
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Jo, du kan ha rätt där.

Jag använder goto i C bara om jag måste, jag skulle tro att det används i knapp 1% av mina program.

Sen är det ju också frågan för vilken sorts mjukvara man gör: är den tidskritisk och man bör därför spara alla de klockcykler som det bara går eller är läget lugnt och man har ingen speciellt viktigt att göra, då kan man ju strunta i sånt med att nypa en instruktion här och där.

Men nu är programmeringsstilen ju ofta ganska personlig, vissa väljar att indentera med TAB, andra med 2 mellanslag osv och min gissning är att vi alla gör på det sätt vi anser bäst överskådligt, man får ju inte glömma att den bästa mjukvara är inte med eller utan 'return' i mitten, det är den mjukvara som fungerar som tänkt.

Om programmörn vill hoppa till det avslutande 'return' eller inte har ingen betydelse till såvida att det inte har betydelse för programmet men det kanske ger överskådlighet för programmörn vilket kan vara nog så viktigt.

Personligen håller jag mig med kommentarer som beskriver rutinernas omfattning, ingångsvärden och utgångsvärden, jag använder delningsstreck för att separera på de olika rutiner osv. och anledningen är: det fungerar för mig! Detta är även anledningen till att jag tycker att multipla 'return' är helt OK, det är inte dom som anger en funktions-avslutning för mig.

Smaken är som baken, så ingen och alla har väl rätt i detta så länge mjukvaran fungerar rätt.
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Vilken diplomatisk avslutning, men du har ju rätt så... :lol:

Mvh
speakman
Användarvisningsbild
ahlsten
Inlägg: 659
Blev medlem: 12 november 2005, 00:24:14
Ort: Uppsala

Inlägg av ahlsten »

Helt klart diplomatisk och så har vi ju fått fram olika åsikter i frågan (fast kanske inte alla?), så nu kan den som läser detta och inte skaffat sig en uppfattning ännu få tillgång till mer än en sanning :wink:
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Joo...det blev lite "flummigt" på slutet men jag ser det så: jag har min sanning och hade jag ett annat namn och levde i en annan tid SKULLE NI TA MIG FAN GÖRA SOM JAG SÄGER!! (Stalin, 1920-1930 talet) ;-)

Nej, allvar: vi är ju olika och vi gör olika saker på vår eget sätt. För mig är programmering en lite kreativ sak att göra och vem gör bra konst under strikta former?

Vad som nog är viktigt är att man kan definiera sin egen stil och har överblick samt såklart att programmen faktisk fungerar..

Jag har just :wall: på att jag hade glömt en 'break;' men jag hittade den iaf. Iblant blir det konstigt när man har någon att andas i nacken.
Skriv svar