Giter Site home page Giter Site logo

physics's Introduction

i) Utvecklingsmiljö.
Ställ in så att "tab space" inte består av tab-tecken utan blanksteg och det ska
vara två till antalet inte fyra. Aktivera indikation på 80 tecken högermarginal.


i) Definitioner.
Defineras i VERSALER utan blanksteg mellan orden, istället används understreck
och har ett avslutande extra understreck. Tillägg kan läggas på skriva i gemener.
  a) Kod ex:
  SNUS_H_
  SNUS_DOSA_portion_stark


ii) Konstanter.
Konstanter skrivs endast i VERSALER, var blanksteg ersätts med understreck.
  a) Konvention: SCREAMING_SNAKE_CASE, MACRO_CASE, CONSTANT_CASE

iii) Klasser (& Struct/Unioner i C)
För klassdefinitioner används PascalCase, som alltid inleds med en versal och vid
nästa ord/namn används också en versal.
  a) Konvention: PascalCase, UpperCamelCase, StudlyCase
  b) Kod ex:
  typedef struct
  SvensktSnus {
    char* namn;
    float vikt;
    int styrka;
  }
  SvSnus;

iv) Variabler.
Enklare variabler skrivs endast i gemener, för mer komplexa variabler används
camelCase som alltid inleds med gemener och inledande storbokstav i varje ord som
skall separeras.
  a) Konvention: (gemen) camelCase, dromedaryCase
  b) Kod ex:
  int antalSnusDosor = 1;
  str snusText = "beroendeframkallande";
  SvSnus dosa;

v) Pekare.
Pekaren placeras intill datatypen, men det är inte ett måste. Notera att i C++
kan det vara avgörande i vissa fall var man placerar pekaren. En bra praxis är att
markera variabler som är pekare med inledande bokstaven p eller förkortningen ptr.
  a) Kod ex:
  char* rubrik;
  str* titel = &rubrik;
  size_t* pStorlek;

vi) Funktioner.
Funktioner skall endast skrivas ut i gemener, var understreck ersätter blanksteg.
Det är så alla program i unix/linux miljöer ser ut, och även de flesta inbyggda
funktionerna i standard biblioteken till C/C++ är utformade. Men främsta anledningen
är att koden blir extremt mycket mer lättläst för metodsanrop blandas inte ihop
med variabelnamn. Vid implementationen av en funktion lägg retur typ på en egen
rad och inled en ny rad med funktionsnamnet i första kolumn.
  a) Kod ex:
  void start_snusa(int x); // deklarationen av en funktion
  void
  start_snusa(int x)
  {
    // implementation
  }

vii) Sammanfattning.
Ovanstående namnkonvention gör programkoden lättläst och man ser skillnaden
enklare utifrån kodstrukturen i programmet. Samt undviker namnkonflikter i större
arbetsgrupper some delar kod i en gemensam namnrymd. Detta är bevisat och det går
att utöka förståelsen inom, speciellt om man läser dokumentationen från projekt som
  a) GNU https://www.gnu.org/prep/standards/standards.html
  b) KHRONOS https://registry.khronos.org/vulkan/specs/1.3/styleguide.html
  c) GTK https://www.gtk.org/docs/

viii) Ordlista och förklaringar.

  a) Understreck, golvstreck eller markstreck är ett tecken som ibland används
inom datorsammanhang istället för ordmellanrum, särskilt om ordmellanrum av någon
anledning inte tillåts, exempelvis i vissa typer av användarnamn.
ex. ____

  b) Namnrymd (engelska: namespace) är en omgivning eller kontext i vilken alla
namn är unika, dvs inte innehåller några homonymer eller andra tvetydigheter.
Ofta definieras och används olika namnrymder just för att särskilja homonymer. 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.