Omröstning: Måsvinge på ny rad ?

Permalänk
Medlem

Omröstning: Måsvinge på ny rad ?

Vi har två läger här på jobbet som bråkar om man ska köra måsvinge på ny rad efter funktionsnamn eller inte när man kodar.

Så frågan är, vad tycker du är rätt?

1.

void Tjena()
{
//Massa trevlig kod
}

2.

void Yo(){
//Dålig kod
}

Ni får gissa vilken jag tycker

Visa signatur

|| Intel Quad Core i7 @ 2.8GHz || Corsair XMS3 DDR3 1.6GHz 4GB || ATI HD4350

Permalänk
Medlem

Beror på vilket språk det gäller. CSS skriver jag one-line eller compact (alt. 2) på grund av bandbredd, men C# skriver jag alltid ut fullständigt och Java likaså. Tycker det blir lite tydligare. JS är ett gränsfall, men jag kör oftast compact för att spara lite bandbredd även där.

Permalänk
Medlem

Jag kör alltid variant 2 då jag personligen tycker att koden blir mer läsbar. Dock tror jag att jag inte skulle ha några problem att behöva köra variant 1 på t.ex. en arbetsplats om jag så måste. Det återstår dock att se när jag man väl hittat jobb

Visa signatur

Efter att ni har läst det här har ni insett att det inte gav något.

Permalänk

Jag tycker det är mer läsbart med alt. 2.

Visa signatur

/Mvh Stefan

Permalänk
Medlem

Jag kör Kernighan & Ritchie style, men anpassar mig självklart efter den kod jag jobbar med.

Visa signatur

Bra, snabbt, billigt; välj två.

Ljud
PC → ODAC/O2 → Sennheiser HD650/Ultrasone PRO 900/...
PC → S.M.S.L SA300 → Bowers & Wilkins 607

Permalänk

Tycker variant 1 Kanske är för att man präglats av visual c# som gör så automatiskt
Tycker om att det blir så mycket luftigare, står inte alls ut med att ha det som variant 2:(

Edit, skulle nog vara allman style :D: http://en.wikipedia.org/wiki/Indent_style#Allman_style_.28bsd...

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk
Medlem

Jag kör med följande pga det är både lätt att se att, japp, den tillhör just en funktionen. Allt på en o samma rad = svinlätt att leta.

function url($string) { return $string; }

Visa signatur

Citera mig om du vill att jag ska hitta till ditt svar.
airikr.me /device:desktop. Andra projekt: Keizai, Koroth & Serenum.

Permalänk
Medlem

Kör nr 1, kan inte riktigt motivera men tycker det är "snyggast". Ser alltid till att det finns en kommentar efter avslundande måsvinge om vad som avslutas så man slipper scrolla upp i över huvud taget.

Visa signatur

Crap.

Permalänk
Medlem

Brukar köra alternativ 2, men kan klart se fördelarna med alternativ 1 (dvs. kunna "ta bort" en if-sats för att testa kod inuti etc.). Anledningen till att jag kör alt. 2 (fast med lite mer mellanrum) är att det känns mer läsbar och ger tydligare association mellan måsvingen och den tillhörande raden.

Permalänk
Medlem

2.

Men alternativ 1 tycker jag har fler "för"-argument än alternativ 2. Code Complete har en bra diskussion om detta ämne.

Visa signatur

"Nothing is impossible because impossible itself says I M Possible..."

Permalänk
Medlem

För längesen körde jag alltid variant 2. Sen fick jag en programmeringslärare som körde med variant 1, så då lärde jag mig också att köra så. Nu har jag dock av någon anledning börjat skriva enligt variant 2 igen. Spelar egentligen ingen roll för mig vilken man använder, så länge man är någorlunda konsekvent.

Permalänk
Proffsmoddare

Variant 1. Prydligt och är van vid det.

Visa signatur

"Hannes has taken a CrossHair IV Formula, a Lian Li case and plenty of BitsPower watercooling and created more than a case mod; Theory is a work of art. With attention to detail so fine that he even polished the ROG board capacitors, Theory is modding at legendary standards" - ASUS

Permalänk
Medlem

Wishie: Exakt, man måste vara konsekvent, det viktigaste.
Tyvärr är vi 4 pers på jobbet som kodar, 2 med version 1 och 2 med version 2
Ingen av oss ger med sig så vi kör blandat just nu, hehe.

Visa signatur

|| Intel Quad Core i7 @ 2.8GHz || Corsair XMS3 DDR3 1.6GHz 4GB || ATI HD4350

Permalänk
Medlem

Tycker bäst om variant 1. Förmodligen för att man är uppväxt med den, men även för att det blir lättare att kopiera och klistra in innehållet i ifsatser etc.

Permalänk
Medlem

En variant på tvåan:

<?php public function du_kan_vara_void ($womenAre = false) { # code... }

Lägg märke till att det ska vara spejs mellan funktionsnamnet och parenteserna, liksom mellan första måsvingen och parenteserna. Snyggt! Stiligt! Jag gillar iofs inte att separera ord med underscore, men det känns mer PHP. Eller ja, det känns mer php att döpa dem till något idiotiskt och inte alls skriva på samma sätt två gånger, men det kanske är lite väl magstarkt. Ignorera att det är en publik funktion utanför en klass

Visa signatur

Brass knuckles and a 2x4

Permalänk
Medlem

Det bästa för att lösa det problemet är väll att följa språk-konventionen vet att det finns en för java men vet inte hur det är med andra programmeringsspråk.

Visa signatur

Macbook Air 13" (2012)

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av wisdom
Det bästa för att lösa det problemet är väll att följa språk-konventionen vet att det finns en för java men vet inte hur det är med andra programmeringsspråk.

Problemet med just C/C++ är ju att det finns ett antal olika "standarder", och vilken man använder beror på var man jobbar/var man lärt sig C.

Permalänk
Medlem

Har alltid använt tvåan men börjar luta mot metod 1 mer och mer...

Visa signatur
Permalänk
Medlem

Körde med #2 förr, men efter att jag började använda Visual Studio för C#. Nu använder jag #1 nu istället. Tycker koden blir snyggare på det viset samt man ser enklare om man missat en måsvinge tycker jag.

Permalänk
Medlem

Kör Python så slipper ni problemet!
Men allvarligt talat, jag kör #2. Tycker att raden mellan funktionsnamn/if-sats och innehållet är onödig; text som breder ut sig över flera rader är jobbigare att läsa tycker jag. Detta märks extra tydligt i kortare metoder.

String getName(int id) { return foo[id]; }

Visa signatur

Kom-pa-TI-bilitet

Permalänk

Lite mixat kör jag men röstade på alt. 1. Det för att jag använder alt. 1 för funktioner, metoder, klasser och protokoll men alt. 2 för satser (if, else, for, while...) och det som frågades efter vad inte hur man gör generellt utan hur man gör efter funktioner.

Exempel (ObjC):

@implementation - (void)fooBar:(int)hejHopp { if (hejHopp > 10) { for (int i = 0; i < 10; ++i) { NSLog(@STOOORT HOPP!); } } } @end

Tycker jag blir fint och läsligt. Dock funderar jag på att köra alt. 1 hela tiden. Men det blir så många "döda" rader då.

Visa signatur

Permalänk
Medlem

Jag kör i princip variant 1 hela tiden.

Sedan om det är C# så använder jag 1 konsekvent då MS även gillar den stilen.

http://msdn.microsoft.com/en-us/library/ms229040.aspx titta hur de anger enum i sin "kodstandard"(guidelines). Har för mig att FxCop även kunde titta på hur måsvingarna satt om man var riktigt petig.

Visa signatur

Lill-server(2010): SFF NAS Zotac H55ITX-C-E, Lian Li PC-Q08B, Intel Core i3 540
Stor-server(2014): SuperMicro X10SL7-F, 20GB ECC RAM, 4x2TB WD Green, E3-1230v3, 2xIntel Dual Gigabit Nic

Permalänk

Jag använder Javas språkkonventioner i normalfallet. I C# använder jag MS konventioner. Men egentligen handlar det mest om att anpassa sig efter företaget. Alla hatar språkrebellen som ska envisas skriva sin kod på sitt sätt när alla andra på företaget har ett gemensamt.

Visa signatur

System.out.print(madness ? this.is.SPARTA : "");

Permalänk
Medlem

1.
enbart för jag tycker bättre om trevlig kod än dålig kod

Permalänk
Medlem

2an.
Försöker följa http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html så gott det går.

Visa signatur

I'm Winston Wolfe. I solve problems.

Permalänk
Medlem

I utvecklingsmiljöer så finns det ofta funktionalitet för att göra om koden för att passa ens egna preferenser.

Jag använder mig av #2 och det har jag gjort sen jag började koda.

Citat:

Ursprungligen inskrivet av azoapes
Beror på vilket språk det gäller. CSS skriver jag one-line eller compact (alt. 2) på grund av bandbredd, men C# skriver jag alltid ut fullständigt och Java likaså. Tycker det blir lite tydligare. JS är ett gränsfall, men jag kör oftast compact för att spara lite bandbredd även där.

Spara bandbredd är trevligt men läsbarheten väger upp mer för mig där. One-line CSS är otroligt jobbigt att läsa och bandbredden man sparar är ett par byte, inte kilobyte (beroende på storlek, of course). Däremot så kan man ju skriva CSSen fullständig och sen konvertera den till one-line. Kanske finns det plugins till diverse texteditorer som gör detta, skulle vara trevligt.

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Leedow
Spara bandbredd är trevligt men läsbarheten väger upp mer för mig där. One-line CSS är otroligt jobbigt att läsa och bandbredden man sparar är ett par byte, inte kilobyte (beroende på storlek, of course). Däremot så kan man ju skriva CSSen fullständig och sen konvertera den till one-line. Kanske finns det plugins till diverse texteditorer som gör detta, skulle vara trevligt.

One-line-CSS är ganska hardcore men det är en vanesak. Jag hatade det först men nu tycker jag det ger mig bättre överblick än något annat format. Om du har Visual Studio (eller laddar ned Express-versionen gratis) kan du köra Edit -> Format Document och vips så är all CSS i det format du ställer in i Options. One-line, compact eller multi-line.

Håller faktiskt på att skriva en VS-plugin för att formatera CSS till one-line, med ett undantag; att den delar upp egenskaperna om de är fler än t.ex. 3 (alt. har fler än 40 tecken). Då slipper man scrolla i sidled och får vips med alla fördelar med one-line Dessutom om alla i vårt team kör en formatering innan de drar in det till SVN så får vi bra konsekvens.

Permalänk
Medlem

Jag har skrivit ett program som komprimerar javascript till en lång rad och den skulle ju funka till css också. Jag kör bara programmet varje gång på servern jag laddat upp en ny version av webbsidan. Sen går den igenom alla js-filer som finns och komprimerar.. Något liknande kanske vore något för er som vill spara plats ?

Visa signatur

|| Intel Quad Core i7 @ 2.8GHz || Corsair XMS3 DDR3 1.6GHz 4GB || ATI HD4350

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Leedow
Spara bandbredd är trevligt men läsbarheten väger upp mer för mig där. One-line CSS är otroligt jobbigt att läsa och bandbredden man sparar är ett par byte, inte kilobyte (beroende på storlek, of course). Däremot så kan man ju skriva CSSen fullständig och sen konvertera den till one-line. Kanske finns det plugins till diverse texteditorer som gör detta, skulle vara trevligt.

Man kan ju göra så att man under utvecklingsfasen skriver med mycket mellanrum så att det blir läsbart och fint, men när man sedan är klar använder man något verktyg för att komprimera CSSen. Detsamma gäller JS.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Gibson
Jag har skrivit ett program som komprimerar javascript till en lång rad och den skulle ju funka till css också.

Nja, ska alltså inte bara komprimera utan formatera. Blir helt annan kod. Finns online-formaterare för CSS, Googla "online css format"