Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Je kunt ook een cookievrije versie van de website bezoeken met minder functionaliteit. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 91 reacties, 13.771 views •

De eerste iteratie van 2013 zit erop en hoewel alle devvers lekker vakantie hebben opgenomen en het erg rustig was op kantoor, zijn er toch nog 83 tickets weggewerkt.

Cookiemuur

Ook wij ontkomen niet aan de cookiewetgeving. De balk die wij eerst toonden, was helaas niet voldoende om aan alle eisen van de wet te voldoen en dus moest deze worden aangepast. Het resultaat hebben jullie allemaal al gezien ;)

Vooral kleine dingetjes

Naast de cookies zijn er vooral kleine dingen opgelost en zijn we begonnen met een aantal zaken die nog steeds in ontwikkeling zijn.

Op het forum is de tijdsnotatie van oude topics aangepast. Voorheen hadden oude topics een tijdsnotatie als '10-'05'; dit wordt nu weergegeven als: '18-10-2005'. Hierdoor wordt niet alleen de dag zichtbaar, maar is ook de overzichtelijkheid van de listings verbeterd.

In de karmaberekening hebben we een aanpassing gedaan om de schaalverandering van de reviews te verwerken. Sinds Tweakers 7 worden reviews niet meer met 1 tot 5 gewaardeerd, maar met een score van 0 tot 3. Nu krijg je weer het juiste karma voor een review die als +3 is beoordeeld.

Verder zijn er nog wat bugjes in V&A opgelost. Zo kon je soms een doorlooptijd opgeven, terwijl de advertentie geen veiling was en werd het startbod in sommige gevallen op 0 gezet als je een veiling bewerkte.

Codekwaliteit

Om de codekwaliteit in de gaten te houden en te verbeteren hebben we de code-quality-tool Sonar geïnstalleerd.

Sonar

We hebben nu een beter overzicht van de kwaliteit van de code en worden gewezen op plekken waar we misschien naar moeten kijken. Zo laat Sonar plekken zien met een hoge cyclomatische complexiteit of waar 'bad practices' gebruikt worden. De tool moet nog wel wat gefinetuned worden. Zo is er een aantal zaken die Sonar nu nog als major beschouwt, maar die bij ons wel zijn toegestaan. Een if statement zonder braces wordt door Sonar altijd als major issue aangeduid, terwijl wij dat in sommige gevallen wel gebruiken.

Reacties (91)

Reactiefilter:-191091+164+23+30
Moderatie-faq Wijzig weergave
Tenzij je dus al op die apparaten was ingelogd. Maar die groep wordt natuurlijk nu steeds kleiner.
Ik zet ze wel, op het moment van schrijven een zeer kleine moeite en het toont altijd netjes aan hoe groot het statement is, zelfs al is het maar 1 regel.
Nou nou, wat een overdreven reactie is dat weer zeg!
.oisyn in 'plan: Development-round-up - Iteratie #28' (staat nota bene direct boven jouw post)
Het "zwaar afrekenen" is wat hier overdreven is, en waar ik op reageer. En natuurlijk chargeer ik, net zoals de persoon waar ik op reageer.

[Reactie gewijzigd door .oisyn op 9 januari 2013 22:57]

Sonar geeft anders gewoon 0 aan op hun screenshot.
Mensen hebben altijd een mening waarom iets duidelijk of is overzichtelijker.
{ op de zelfde nieuwe regel is een kwestie van smaak, maar als je verkiest om alles op één regel te schrijven vraag je gewoon om problemen.

[code]
if (conditie) return foo;
[/code]

Lijkt misschien duidelijk maar dit is dit niet. Zelf heb ik dit ook vele jaren gedaan, maar ben hier toch vanaf gestapt.

Bekijk dit uit het oogpunt van executie.
Je ziet een if statement, een conditie, als die conditie voldoet voer je iets uit.
Je gaat dus een niveau diepen, daarom springen we code in omdat dit namelijk buiten 'de main' flow valt. Als je dit op één regel zet breek je deze denk conventie.

Daarnaast is de meeste code langer dan een return foo;, en word je code veel langer en complexer om te begrijpen en debuggen. Leesbaarheid en conventies helpen om de code sneller en makkelijker te begrijpen.

Het toppund wat ik een keer heb gezien was iemand die een functie declaratie van in cq 40 regels op één regel had neer 'gedonderd'. HOE IN GODSNAAM KAN DIT NU LEESBAAR ZIJN!

Zie ook https://www.youtube.com/watch?v=_EANG8ZZbRs waarin hij uitlecht waarom we programmeren op een manier die duidelijk en prettig is.
Mijn 'vraag' advertentie was verlopen; heb hem netjes via de link die ik via mail van Tweakers kreeg ge-heractiveerd. Krijg ik 45 minuten later een mail dat mijn 'veiling' was afgelopen met 0 biedingen. Bugje :-)
Toch zou ik graag willen weten hoe je gedetecteerd werd :)
hier is het inderdaad niet zo'n issue, maar er kunnen meerdere returns worden toegevoegd, en als je een flinke rits code hebt en je hebt geen braces, moet je zoeken waar de statement ophoud, dat kan een tijdrovende klus zijn. Met braces kun je in één oogopslag zien waar iets begint, en waar het eindigt. Kleine moeite om het dan ook bij one- en twoliners als jouw voorbeeld toe te passen.

Maar het blijft geneuzel, het is een manier om een lap code leesbaarder te maken. Persoonlijk prefereer ik:

if(val) {
return(val)
return(val)
return(val)
}

Maar het blijft voorkeur. Voor mij blijft het overzichtelijk, en tussen statements altijd een witregeltje. :)

[Reactie gewijzigd door naarden 4ever op 8 januari 2013 23:51]

even serieus; jullie werken helemaal niet met junit tests of laten jullie sonar die testresultaten niet meenemen?
Is er een reden waarom jullie niet unit testen? Gewoon nieuwsgierigheidsvraag.
Heb het maar opgelost door het te fixeren voor grade A.

Edit, ik stuur je morgen een PM.

[Reactie gewijzigd door Quad op 9 januari 2013 01:24]

Of gewoon

if (foo) { return true; }
return false;
Misschien wat offtopic... maaruhh.

"Voorbeelden van een 'grade-B' apparaat zijn de Sony Ericsson Xperia X1, de Nokia N97 en de Apple iPhone"

Lichtelijk out-of-date? :+
Hint: bar is al true, dus waarom true returnen als bar al de waarde is die je wilt returnen :)
Voor alle problemen met curly braces is een oplossing bedacht, door een Nederlander zelfs. Het heet 'Python'.
Sinds gisteren heb ik op mijn telefoon dat ik telkens naar Tweakers.mobi wordt geleidt.
Android 4.1 met Google Chrome.
Grapje neem ik aan? :X
Ik vermoed dat je voorlopig nog wel onze karma-koning blijft. ;)
Ik weet niet waarom

if (val)
return val;

minder goed leesbaar is dan

if(val) {
return val;
}

Het eerst is JUIST mooier en overzichtelijker

Op dit item kan niet meer gereageerd worden.



HTC One (M9) Samsung Galaxy S6 Grand Theft Auto V Microsoft Windows 10 Apple iPad Air 2 FIFA 15 Motorola Nexus 6 Apple iPhone 6

© 1998 - 2015 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True