-
Notifications
You must be signed in to change notification settings - Fork 6
Kodekonvensjoner
Knut Andre Grytting Prestsveen edited this page Oct 7, 2019
·
1 revision
Alt blir mye enklere om alle bruker samme standarder for koden sin.
- All kode, alle funksjoner, variabelnavn, klasser etc. skal navngis på engelsk.
- Det er ikke et fast språk for kommentarer (enda), men de fleste er på norsk.
- Ingen tabs. Bruk 4 spaces istedenfor. Hvordan fikse dette i Vim
- Følg PEP 8 -- Style Guide for Python. Linjer lenger enn 79 tegn er greit om det øker lesbarheten kraftig, som f.eks. i models.py.
- Kommenter det som ikke er opplagt. Docstrings/dokumentasjon skal være på Sphinx-format, slik at vi ved et senere tidspunkt kan generere dokumentasjon automatisk.
-
Bruk class based views hvor det er hensiktsmessig. Eksempler hvor det er hensiktsmessig:
- Enkel CRUD (Create, Read, Update, Delete).
- Enkle sider generelt.
-
Sjekk hvor mange SQL queries koden din bruker om du har en liste over elementer. Ideelt sett burde 1-2 queries hente alt som er nødvendig. Om det kjøres en ekstra query for hvert element, som henter
content_type
, brukselect_related('content_type')
.
- Template-filer skal ligge i
nablaweb/templates/app-navn/
, eventuelt iapp-navn/templates/app-navn/
om du lager en app som står helt for seg selv, og enkelt kan gjenbrukes i andre prosjekter. - Templates som viser et enkelt objekt skal hete
objekt_detail
- Templates som viser en liste med objekter skal hete
object_list
- Bruk reverse. Ved å skrive
{% url news_detail news.id %}
fremfor/nyheter/{{ news.id}}-{{ news.slug }}
blir det mye lettere å endre urls i ettertid.