Kod: Markera allt
int x[10] = {};
Kod: Markera allt
int x[10] = {};
Det tycker jag blir onödigt övertydligt. Din regel skulle inte tillåta t.ex. char i = 0; då det är en automatisk cast från int till char.Nerre skrev:Samma sak t.ex. med casting, ska man skriva tydlig kod så ska all casting vara explicit.
Som allergisk mot sega system så försöker jag aldrig göra några operationer i onödan och jag kan inte kommaNerre skrev:Har jag 10 000 element och vill visa i koden att de är initierade till 0 så gör jag en loop som intierar dem. Även om loopen är helt onödig ur funktionssynpunkt, så är den nödvändig ur läsbarhetssynpunkt.
Samma sak t.ex. med casting, ska man skriva tydlig kod så ska all casting vara explicit.
Den tävlingen har väl geniet Adam Dunkels redan vunnit i alla kategorier för all framtid med Protothreadsarvidb skrev:Tvärt om, oftast (om man inte drar det till extremer som i "obfuscation"-tävlingar eller liknande).
Kod: Markera allt
init1(); // initialize adc
init2(); // initialize timer
Kod: Markera allt
init_adc();
init_timer();
Kod: Markera allt
/* The ADC needs to be initialized before the timer
because the timer interrupt reads analog values. */
init_adc();
init_timer();
Det gäller i princip all gratiskod, och även majoriteten av köpta bibliotek, tyvärr.Palle500 skrev:Håller med Nerre till 100%
…..
Kolla bara på all gratis kod för tex arduino ofta riktigt trevlig kod.
Håller med till 100%!Mr Andersson skrev:Jag håller med om att ifall man måste skriva kommentarer som förklarar vad koden gör är den för komplicerat eller dåligt skriven. Däremot måste man nog kunna förvänta sig att den som ska läsa koden har grundläggande kunskaper i språket. (Om inte syftet med koden är just att lära ut språket, då kan man vara övertydlig)
Kommentarer ska istället förklara varför man gör saker på ett visst sätt.
Kod: Markera allt
init_adc(); // initialize adc
init_timer(); // initialize timer
Riktigt skitdålig kod.
Kod: Markera allt
const int WAIT_ONE_HOUR = 2*60*60; // 1 hour in seconds
Sämst kod
Jag vet inte om man kan ha JPL som förebild för välkommenterad kod.TomasL skrev:Det finns ju en anledning till att kommentarerna och dokumentationen inom jpl är typ 100 ggr större än koden i sig.
Vill man skriva så buggfri kod som möjligt skall varje kodrad förklaras oavsett hur trivial den till synes verkar vara.
Kod: Markera allt
int x = 3; // initialize x to 3
y = 7; // assign 7 to y
++z; // increase z by 1
Kod: Markera allt
for(int i=0; i<sizeof(tmrs)/sizeof(*tmrs); ++i) {
disable_int(tmrs[i]);
}
Kod: Markera allt
for(auto timer : running_timers) {
timer->disable_interrupt();
}