Каковы текущие правила написания кода Python, который будет проходить чисто через 2to3 , и каковы практики, которые лучше всего подходят для написания кода, который не будет навсегда утрачен в версии 2.
Я прочитал на форумах SciPy / NumPy, что "100% тестовое покрытие" (модульное тестирование) важно для многих людей, и я не уверен, что это будет применяться ко всем. Безусловно, наличие разумного набора модульных тестов для тестирования кода после преобразования кажется разумным шагом.
Есть ли другие вещи? Что делают опытные Pythonistas, если они пишут код 2.x, который, как они надеются, прошел «чисто» в процессе 2to3.
Я ищу конкретные примеры "не делай этого", а также некоторые более общие "передовые практики", но полезны конкретные примеры "что можно и чего нельзя".
Предположим, что фреймворки, библиотеки (Django, SciPy / NumPy) и все остальные расширения C, которые нам нужны, в конечном итоге портируются на Python3, и я спрашиваю, как вы пишете и поддерживаете чистый код языка Python, который вы пишете сами .
Обновление: возможно, что я действительно хочу, это "руководство по стилю" и список устаревших функций, от которых все уже держались подальше. Я порезал зубы на Python 1.5 и перешел на 2.0, а потом не очень следил за большей частью эпохи 2.5 / 2.6, использовал их, но на самом деле мой код больше эпохи 2.1.