Naming 2.23 KB
Newer Older
Jean-Paul Smets's avatar
Jean-Paul Smets committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
ERP5 Naming Conventions

This document defines ERP5 naming conventions.

Coding Conventions

    "Python coding conventions":http://www.python.org/doc/essays/styleguide.html
    is a good start for python coders. It defines precisely the multipole
    naming conventions from which we have to choose. A must read.

    Zope extends the python object model by adding

    - Zope Objects: objects which can be published
      and accessed through the OFS implement acquisition of attributes
      and, in certain cases, skinning

    - Zope Methods: it is possible to extend the behaviour of
      a Zope Object as defined in its class by calling special
      kinds of methods (DTML, Page Template, Python Script) stored
      in the OFS as Zope Objects

Pseudo Constant

    A pseudo-constant is a global reusable value stored as
    an attribute (of a Class, of a module) which is
    considered as a constant.

    Example::

        CONSTANT_NAME

Attributes, Properties and IDs

    Attributes can be assigned to an object, to a class.
    Properties can be assigned to Zope object.

    Example::

        base_price
        attribute_name

Variables

    Variables can be defined within a python method or function,
    within a python script Zope object, within a page template Zope
    Object or within a DTML Method Zope Object.

    Example::

        base_price
        attribute_name


Class

    Classes are defined in python within products.

    Example::

        Document
        MetaResource
        Resource
        ClassName


Interface
    mixedCase that, is CapitalizedWords with initial lowercase


    Example::

        content
        dublinCore
        rdf
        interfaceName


Method

    Methods are defined for each class in python.

    Example::

        Title
        BasePrice
        edit
        setPrice


    Exceptions for mixed start::

        set
        get
        view
        edit
        delete
        print
        list
        add

    Exception if ZMI::

        manage_MethodName

Page Template

    Pages templates are stored as IDs in the OFS
    (therefore small caps) but act as methods of objects (therefore
    CapitalizedWords)

    Example::

        content_AddToCart
        content_edit

        interfaceName_MethodName