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

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Okt 2001

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

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

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jun 2004

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.

Trädvy Permalänk
Medlem
Plats
Linköping
Registrerad
Jul 2004

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

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

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Nov 2003

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

Mvh Stefan -
Hamburgare är kärlek!
Receptologi är livet!

Trädvy Permalänk
Medlem
Plats
Borlänge
Registrerad
Mar 2005

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

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

Ljud
PC → ODAC → Objective2 → Sennheiser HD650/Ultrasone PRO 900
Portabelt → Sennheiser Momentum/Sennheiser Urbanite XL/Sennheiser Momentum In-Ear

Trädvy Permalänk
Medlem
Plats
Bromma
Registrerad
Aug 2008

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...

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

Trädvy Permalänk
Medlem
Plats
Hammarö
Registrerad
Jan 2004

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; }

Citera mig om du önskar ett snabbare svar.
Min blogg

Trädvy Permalänk
Medlem
Plats
Exil i huvudstaden
Registrerad
Jul 2004

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.

Crap.

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jan 2007

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.

Trädvy Permalänk
Medlem
Registrerad
Dec 2004

2.

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

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

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Jun 2005

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.

Trädvy Permalänk
Proffsmoddare
Söt
Plats
Morgongåva
Registrerad
Jul 2007

Variant 1. Prydligt och är van vid det.

"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

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Okt 2001

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.

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

Trädvy Permalänk
Medlem
Plats
Linköping
Registrerad
Sep 2009

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.

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jun 2003

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

Brass knuckles and a 2x4

Trädvy Permalänk
Medlem
Plats
Uddevalla
Registrerad
Okt 2001

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.

Macbook Air 13" (2012)

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jan 2007
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.

Trädvy Permalänk
Medlem
Plats
Östersund
Registrerad
Maj 2005

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

Trädvy Permalänk
Medlem
Registrerad
Jan 2006

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.

Trädvy Permalänk
Medlem
Plats
i din garderob
Registrerad
Sep 2007

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]; }

Bilanaloger är som Volvo — varenda svenne kör med dem

Trädvy Permalänk
Medlem
Plats
Göteborg (CTH)
Registrerad
Nov 2003

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å.

Trädvy Permalänk
Medlem
Plats
Karlstad
Registrerad
Mar 2008

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.

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

Trädvy Permalänk
Medlem
Plats
Solna
Registrerad
Mar 2002

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.

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

Trädvy Permalänk
Medlem
Plats
Hemma
Registrerad
Dec 2006

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

Trädvy Permalänk
Medlem
Plats
@home
Registrerad
Maj 2005

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

I'm Winston Wolfe. I solve problems.

Trädvy Permalänk
Medlem
Plats
Falun
Registrerad
Dec 2003

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.

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

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jun 2004
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.

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Okt 2001

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 ?

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

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jan 2007
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.

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jun 2004
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"