Uniba Lab: Stile di programmazione
Note generali
UTF-8
Tutti i file devono avere codifica UTF-8. Cio' si ottiene impostando il proprio editor in maniera tale da codificare i caratteri in utf-8 al momento del salvataggio. Inoltre per i file PY e' opportuno far cominciare il file con lo slug:
# -*- coding: utf-8 -*-
Questo istruisce opportunamente il compilatore a runtime.
File py
I file .py sono relativi a tool, config, contents, init, browser view, interfaces, e qualsiasi altro modulo si voglia consolidare in un file a se stante.
Imports
- Le imports devono essere effettuate tutte in testa al file (fatto salvo lo slug utf-8
- Le imports dovrebbero essere ordinate alfabeticamente
- Le imports devono essere raggruppate tra loro sulla base del namespace di primo livello del pacchetto
- i blocchi delle imports devono essere separati da un blank line
from CMFPlone.utils import getToolByName from DateTime import DateTime from zope import schema from zope.interface import Interface
Naming Conventions
- Fatte salve le regole generali per cui le variabili devono avere sempre nomi verbosi fatte salve le eccezioni:
- list comprehension:
[x for x in lista if x.valore == 'alfa']
- cicli for numerali:
for i in range(1,1000):
- abbreviazioni canoniche quali
- list comprehension:
- msg
- messaggio
- pwd
- password
- flg
- flag
ecc...
- Lavorando in ambiente Plone ne ereditiamo le naming conventions per la definizione di classi, metodi, interfacce.
In genere il pattern è CamelCase
per tutte le occorrenze (classi interfacce, metodi, variabili...).
In particolare:
- classi
class primaLetteraMinuscolaAltreCamel(object)
- interfacce
class INomeInterfaccia(Interface):
Cominciano con I maiuscola e seguono col CamelCase dell nome dell'interfaccia- metodi
-
def camelCaseMethod(self,):
def __init__(self,):
i metodi privati/convenzionali python sono prefissati con il doppio undersrcore
Zope Page Template
- estensioni
-
- *.pt
- *.cpt
Last modified
13 years ago
Last modified on Apr 3, 2012 1:01:53 PM
Note:
See TracWiki
for help on using the wiki.