Söker bra referensdokument för att hålla koden enhetlig
- Magnus_K
- EF Sponsor
- Inlägg: 5854
- Blev medlem: 4 januari 2010, 17:53:25
- Ort: Skogen mellan Uppsala-Gävle
Söker bra referensdokument för att hålla koden enhetlig
Hej!
Tror jag frågat tidigare men den här gången måste jag ta tag i det på allvar. Tanken är att skriva ut en lathund och sätta upp på väggen.
Kan ni tipsa om ett bra dokument som beskriver hur man får lättläst och enhetlig kod? Det behöver inte vara någon standardmanual på 500 sidor, utan ett dokument som på ett lättläst sätt beskriver det jag efterfrågar.
Som exempel så sitter jag nu med en variabel som ska innehålla status (hög/låg) på en knapp. Bör denna kallas stateButton, pushButtonState, buttonState, button_state etc etc?
Jag måste få till något enhetligt när det kommer till versala/gemena bokstäver, understreck, verb/substantiv/adjektiv när det kommer till att skilja mellan variabler, funktioner och annat.
Har för mig jag fick tips att placera tex do framför funktioner, tex doFlush().
Tror jag frågat tidigare men den här gången måste jag ta tag i det på allvar. Tanken är att skriva ut en lathund och sätta upp på väggen.
Kan ni tipsa om ett bra dokument som beskriver hur man får lättläst och enhetlig kod? Det behöver inte vara någon standardmanual på 500 sidor, utan ett dokument som på ett lättläst sätt beskriver det jag efterfrågar.
Som exempel så sitter jag nu med en variabel som ska innehålla status (hög/låg) på en knapp. Bör denna kallas stateButton, pushButtonState, buttonState, button_state etc etc?
Jag måste få till något enhetligt när det kommer till versala/gemena bokstäver, understreck, verb/substantiv/adjektiv när det kommer till att skilja mellan variabler, funktioner och annat.
Har för mig jag fick tips att placera tex do framför funktioner, tex doFlush().
Re: Söker bra referensdokument för att hålla koden enhetlig
Sånt här är ju ganska subjektivt. Så om jag skulle ge dig ett dokument kanske det inte passar dig.
Tror du helt enkelt får googla runt efter "naming conventions" och välja en som faller dig i smaken.
Finns nog ett sånt dokument på varje seriöst kodutvecklande företag. Brukar ingå i ett dokument som heter "coding conventions" eller liknande.
Jag tyckte det vi hade på mitt tidigare jobb var bra, men det har jag inte tillgång till längre.
Men jag tar också gärna emot tips, särskilt om det är någorlunda kortfattat.
Tror du helt enkelt får googla runt efter "naming conventions" och välja en som faller dig i smaken.
Finns nog ett sånt dokument på varje seriöst kodutvecklande företag. Brukar ingå i ett dokument som heter "coding conventions" eller liknande.
Jag tyckte det vi hade på mitt tidigare jobb var bra, men det har jag inte tillgång till längre.
Men jag tar också gärna emot tips, särskilt om det är någorlunda kortfattat.
- Magnus_K
- EF Sponsor
- Inlägg: 5854
- Blev medlem: 4 januari 2010, 17:53:25
- Ort: Skogen mellan Uppsala-Gävle
Re: Söker bra referensdokument för att hålla koden enhetlig
Förstår att det är ganska personligt, men när man skriver så lite kod som jag gör så kommer man knappt till den nivån att det ens kan bli personligt.
Brukar gå tillbaka till lite gamla projekt men inser bara att jag aldrig gjort likadant
Brukar gå tillbaka till lite gamla projekt men inser bara att jag aldrig gjort likadant

- Magnus_K
- EF Sponsor
- Inlägg: 5854
- Blev medlem: 4 januari 2010, 17:53:25
- Ort: Skogen mellan Uppsala-Gävle
Re: Söker bra referensdokument för att hålla koden enhetlig
Det här kanske? -> https://users.ece.cmu.edu/~eno/coding/CCodingStandard.html
Tack för tipset om naming conventions, det underlättade sökningen!
Tack för tipset om naming conventions, det underlättade sökningen!
Re: Söker bra referensdokument för att hålla koden enhetlig
Några av mina små "regler" som har utvecklats genom åren:
#defines: alltid i versaler, separerade med _
exempel
Konstanter: PascalCase (camelCase men med inledande versal)
exempel
Variabler: camelCase
namnet bygger jag ofta upp med först _vad_ "huvudobjektet" är (button), sedan fyller på med mer
och mer "detaljerad" specifikation om vilken "del" av det som avses (State)
väldigt lokala och kortlivade variabler i loopar: i, x, y, r, c e.dyl
exempel:
funktioner: camelCase
första ledet alltid verbet som ska utföras, därefter uppbyggt på samma sätt som variablerna.
Använder dock aldrig allmänna verb som "do" då de bara adderar "fluff", ditt exempel hade "flush()"
varit alldeles tillräckligt (om det inte är absolut nödvändigt för att skilja dem från andra grejer)
Däremot hade jag nog lagt till _vad_ som flushas: "flushCache()"
exempel:
metoder: camelCase
byggs upp exakt som funktioner, men utelämnar såklart "huvudobjektet"
exempel
/j
#defines: alltid i versaler, separerade med _
exempel
Kod: Markera allt
#define INPUT_PIN 3
#define SCREEN_WIDTH 640
exempel
Kod: Markera allt
const int ReadTimeout = 100;
const long MaxConnectionPoolSize = 16;
namnet bygger jag ofta upp med först _vad_ "huvudobjektet" är (button), sedan fyller på med mer
och mer "detaljerad" specifikation om vilken "del" av det som avses (State)
väldigt lokala och kortlivade variabler i loopar: i, x, y, r, c e.dyl
exempel:
Kod: Markera allt
int buttonState = true;
int buttonBackgroundColor = COLOR_GRAY;
float employeeSalary;
for(var y=0;y<SCREEN_HEIGHT;y++) {
for(var x=0;x<SCREEN_WIDTH;x++) {
readScreenPixel(x, y);
Screen.readPixel(x, y);
}
}
första ledet alltid verbet som ska utföras, därefter uppbyggt på samma sätt som variablerna.
Använder dock aldrig allmänna verb som "do" då de bara adderar "fluff", ditt exempel hade "flush()"
varit alldeles tillräckligt (om det inte är absolut nödvändigt för att skilja dem från andra grejer)
Däremot hade jag nog lagt till _vad_ som flushas: "flushCache()"
exempel:
Kod: Markera allt
void flushCache() {}
void* createObject() {}
int getCustomerWeight() {}
byggs upp exakt som funktioner, men utelämnar såklart "huvudobjektet"
exempel
Kod: Markera allt
class Cache()
{
public:
void flush();
};
/j
Re: Söker bra referensdokument för att hålla koden enhetlig
Vilket språk använder du?
Använder du några bibliotek väldigt mycket och kan det kanske finnas möjlighet att du i framtiden kommer förbättra något av dessa bibliotek och dela med dig av din kod till andra så den kanske blir inkluderad i biblioteket?
Då kan det ju vara en bra början att kolla om det finns en bra coding standard där att följa.
Använder du några bibliotek väldigt mycket och kan det kanske finnas möjlighet att du i framtiden kommer förbättra något av dessa bibliotek och dela med dig av din kod till andra så den kanske blir inkluderad i biblioteket?
Då kan det ju vara en bra början att kolla om det finns en bra coding standard där att följa.
- Magnus_K
- EF Sponsor
- Inlägg: 5854
- Blev medlem: 4 januari 2010, 17:53:25
- Ort: Skogen mellan Uppsala-Gävle
Re: Söker bra referensdokument för att hålla koden enhetlig
Gör mitt bästa att hålla mig till C, men då jag knappt ser skillnad på språken så spelar det knappt någon roll 
Sen chansen att jag ska förbättra något bibliotek kan nog ses som mycket liten, men i och för sig, min kod delar jag mer än gärna med mig av, om någon mot förmodan vill ha den.

Sen chansen att jag ska förbättra något bibliotek kan nog ses som mycket liten, men i och för sig, min kod delar jag mer än gärna med mig av, om någon mot förmodan vill ha den.
Re: Söker bra referensdokument för att hålla koden enhetlig
På jobbet när vi var ägda av Google funderade vi på att byta till deras: https://google.github.io/styleguide/cppguide.html men vi reviderade den egna lite istället. Jag är numera så van vid den så jag använder den hemma också.
- Lennart Aspenryd
- Tidigare Lasp
- Inlägg: 12607
- Blev medlem: 1 juli 2011, 19:09:09
- Ort: Helsingborg
Re: Söker bra referensdokument för att hålla koden enhetlig
Niklaus Wirth skapade ett språk för undervisning, det var inte tänkt att användas för programmering. Men någon Dansk övertalade / övertalades att kör detta språk för Borland.
Språket var Pascal och där kan man nog finna en hel del nycklar till döpning Namngivning.
Språket var Pascal och där kan man nog finna en hel del nycklar till döpning Namngivning.
Re: Söker bra referensdokument för att hålla koden enhetlig
Jag håller på att ta mig igenom en bok som heter "Code Complete". En rejäl tegelsten och väldigt många ord för att beskriva saker men den innehåller väldigt mycket bra.
Re: Söker bra referensdokument för att hålla koden enhetlig
Ja. den är bra!
En annan bok jag starkt kan rekommendera är "Writing Solid Code" av Steve Maguire, visserligen rätt gammal nu men ändå lika aktuell idag.
/j
En annan bok jag starkt kan rekommendera är "Writing Solid Code" av Steve Maguire, visserligen rätt gammal nu men ändå lika aktuell idag.
/j
-
- Inlägg: 7
- Blev medlem: 8 maj 2015, 14:36:59
Re: Söker bra referensdokument för att hålla koden enhetlig
Egentligen inte det du söker men en "Linter" kan vara till hjälp för att få lite mer ordning på koden. Sök efter c linter för mer info.
- Magnus_K
- EF Sponsor
- Inlägg: 5854
- Blev medlem: 4 januari 2010, 17:53:25
- Ort: Skogen mellan Uppsala-Gävle
Re: Söker bra referensdokument för att hålla koden enhetlig
Ja tackar för alla bra tips.
Ska se om jag kan komma över dom där böckerna, eller i alla fall en chans att slå lite i dom.
johano
lathund räcker ganska långt och google:s stilguide var också stilig.
Ska se om jag kan komma över dom där böckerna, eller i alla fall en chans att slå lite i dom.
johano

Re: Söker bra referensdokument för att hålla koden enhetlig
Den var bra!mankan skrev:På jobbet när vi var ägda av Google funderade vi på att byta till deras: https://google.github.io/styleguide/cppguide.html men vi reviderade den egna lite istället. Jag är numera så van vid den så jag använder den hemma också.
Ett guldkorn hittade jag, "Do not use Hungarian notation"
