Я переношу устаревшую кодовую базу на работу с python 2.4 на python 2.6. Это делается как часть толчка, чтобы удалить тег «legacy» и создать поддерживаемую расширяемую основу для активного развития, поэтому я получаю возможность «сделать все правильно», включая рефакторинг для использования новых функций 2.6, если это приводит к более чистым, более надежным кодам. (Я уже в восторге от заявления «с» :)). Какие-нибудь хорошие подсказки для миграции? Лучшие практики, шаблоны проектирования и т. Д.? Я в основном рубиновый программист; Я изучил некоторый python 2.4 во время работы с этим кодом, но ничего не знаю о современных принципах проектирования python, поэтому не стесняйтесь предлагать то, что, по вашему мнению, очевидно.Миграция с python 2.4 на python 2.6
ответ
Ознакомьтесь с изменениями Python 3.0. Точка 2,6 предназначена для 3,0.
От 2,4 до 2,6 вы приобрели много чего. Это самое важное. Я делаю этот ответ wiki сообщества, чтобы другие люди могли его редактировать.
Функции генератора и инструкция выхода.
Более последовательное использование различных типов, таких как
list
иdict
- их можно продлить непосредственно.from __future__ import with_statement
from __future__ import print_function
Исключения составляют новые классы стиля, и есть более последовательная обработка исключений. Исключения строк исключены. Попытка использовать их поднимает TypeError
Я думаю, вы уже нашли их, но ссылки и для других, вот списки новых функций в этих двух версиях:
Помимо выбора функции из этих документов, я предлагаю использовать возможность (если необходимо), чтобы код соответствовал стандартному стилю кода Python в PEP 8.
Есть некоторые автоматизированные инструменты, которые могут помочь вам получать право стиля Python: pep8.py реализует РЕРУ 8 проверок и pylint дает больший отчет, который также включает в себя такие вещи, как неопределенные переменные, неиспользуемый импорт и т.д. pyflakes является меньше и быстрее pylint.
- 1. Измените версию python 2.6 на python 2.5 или 2.4
- 2. google mod_pagespeed на python 2.4?
- 3. Python 2.4 plistlib на Linux
- 4. Python Cookbook для Python 2.4
- 5. Anaconda Python с Python 2.6
- 6. с использованием python 2.6?
- 7. Изменить версию Python по умолчанию от 2.4 до 2.6
- 8. Установите python 2.6 в CentOS
- 9. Из Python 3.3 на Python 2.6
- 10. Python Legacy - Scapy на Windows (Python 2.4)
- 11. python 2.6 или python 3.1?
- 12. Модуль JSON для python 2.4?
- 13. Запуск Panda3D на Python 2.6
- 14. hashlib/md5. Совместимость с python 2.4
- 15. Проблема с переносом на python-2.7 curses на python-2.4
- 16. распараллелить цикл в Python 2.4
- 17. python struct module (python 2.4)
- 18. Py2app с родным Python 2.6
- 19. Установка Pymedia на Windows с Python 2.6
- 20. mod_python с Python 2.6 на Windows
- 21. Проблемы с юникодом Python (2.6)
- 22. Django and Python 2.6
- 23. Декоратор Python 2.6 с параметром
- 24. Импорт numpy с python 2.6
- 25. Поплавки неправильные? - Python 2.6
- 26. Python 2.6 на проблемах CentOs после установки
- 27. Ошибка Python 2.6 DB
- 28. Maketrans in Python 2.6
- 29. Миграция GWT 2.6 на GWT 2.7
- 30. Миграция с Javadoc на Python Документация
спасибо :) да, я уже перешедший в новом списке функций, но без толики опыта я не могу сказать, как они переводят на удар для в- бакс. Я ищу советы от людей, которые использовали как 2.4, так и 2.6, и обнаружил, какие функции сильно изменили их код. –
Хорошо, я вижу - я взламываю Mercurial, и там мы недавно отказались от совместимости Python 2.3. Поэтому я в основном счастлив, когда я использую функции Python 2.4 :-) Я надеюсь, что кто-то еще сможет использовать ссылки! –