Многие IDE python запустит вас с помощью шаблона, например:
print 'hello world'
Этого недостаточно... Итак, вот мой скелетный код, чтобы задать этот вопрос:
Мой скелет модуля, короткая версия:
#!/usr/bin/env python
"""
Module Docstring
"""
#
## Code goes here.
#
def test():
"""Testing Docstring"""
pass
if __name__=='__main__':
test()
и
Мой скелет модуля, длинная версия:
#!/usr/bin/env python
# -*- coding: ascii -*-
"""
Module Docstring
Docstrings: http://www.python.org/dev/peps/pep-0257/
"""
__author__ = 'Joe Author ([email protected])'
__copyright__ = 'Copyright (c) 2009-2010 Joe Author'
__license__ = 'New-style BSD'
__vcs_id__ = '$Id$'
__version__ = '1.2.3' #Versioning: http://www.python.org/dev/peps/pep-0386/
#
## Code goes here.
#
def test():
""" Testing Docstring"""
pass
if __name__=='__main__':
test()
Примечания (PEP 8, UTF-8)
"""
===MODULE TYPE===
Since the vast majority of my modules are "library" types, I have constructed
this example skeleton as such. For modules that act as the main entry for
running the full application, you would make changes such as running a main()
function instead of the test() function in __main__.
===VERSIONING===
The following practice, specified in PEP 8, no longer makes sense:
__version__ = '$Revision: 1.2.3 $'
For two reasons:
(1) Distributed version control systems make it neccessary to include more
than just a revision number. E.g. author name and revision number.
(2) It a revision number not a version number.
Instead, the __vcs_id__ variable is being adopted. This expands to, for
example:
__vcs_id__ = '$Id: example.py,v 1.1.1.1 2001/07/21 22:14:04 goodger Exp $'
===VCS DATE===
Likewise, the date variable has been removed:
__date__ = '$Date: 2009/01/02 20:19:18 $'
===CHARACTER ENCODING===
If the coding is explicitly specified, then it should be set to the default
setting of ASCII. This can be modified if necessary (rarely in practice).
Defaulting to UTF-8 can cause anomalies with editors that have poor unicode
support.
"""
Альтернативный скелет, длинная версия:
(Код адаптирован из ответа DasIch.)
#!/usr/bin/env python
# -*- coding: ascii -*-
"""
package.module
~~~~~~~~~~~~~
A description which can be long and explain the complete
functionality of this module even with indented code examples.
Class/Function however should not be documented here.
:copyright: year by my name, see AUTHORS for more details
:license: license_name, see LICENSE for more details
"""
#
## Code goes here.
#
def test():
""" """
pass
if __name__=='__main__':
test()
Есть много PEP, которые выдвигают рекомендации стиля кодирования. Не хватает ли каких-либо важных рекомендаций? Каков наилучший код скелета модуля Python?
Update
Покажите мне какие-то "лучшие", которые вы предпочитаете. Сообщите нам, какие показатели вы использовали для получения наилучшего результата.