Я недавно натолкнулся на библиотеку Python на GitHub. Библиотека отличная, но содержит одно явное опечатка в имени функции. Давайте назовем это, dummy_fuction()
пока это должно быть dummy_function()
. Эта функция определенно «в дикой природе» и, скорее всего, используется во встроенных системах.
Первое, что приходит на ум, - это добавить вторую версию функции с правильным именем и добавить предупреждение об устаревании в первую версию для следующего выпуска.
Три вопроса:
- Может ли описанный выше подход иметь какие-либо непредвиденные последствия?
- Существует ли стандартный подход к такого рода проблемам?
- Как долго следует оставлять предупреждение об устаревании?
python
version-control
coding-standards
deprecation
Джейми Булл
источник
источник
http_referer
«Это похоже на то, когда я делал поле реферера. У меня не было ничего, кроме горя за мой выбор орфографии. Сейчас я пытаюсь исправить орфографию в OED, поскольку мое правописание используется несколько миллиардов раз в минуту больше». чем их. " - Филипп Хэллам-БейкерОтветы:
В первую очередь, политика зависит от сопровождающего.
Я думаю, что ваш вопрос интересен, но в основном основан на мнении.
По моему личному мнению, ваш подход обоснован - переименуйте функцию и оставьте ошибочную версию устаревшим, перенаправив ее на правильный.
Это может нарушить код, например. если кто-то тоже не мог вынести опечатки и реализовал переименованную версию самостоятельно. Теперь произойдет столкновение имен после обновления библиотеки.
Не допускайте орфографических ошибок при написании библиотеки;)
Я считаю, что амортизацию следует оставить на месте до следующего основного выпуска (когда увеличится первая цифра в номере версии).
Это когда допускается некоторое - оправданное - нарушение обратной совместимости, и пользователи библиотеки должны убедиться, что их код по-прежнему работает нормально.
Просто не забудьте указать это в журнале изменений: ребята, если вы использовали
dummy_fuction
, замените егоdummy_function
везде, и все готово.Если библиотека не версионирована, как это может быть - это хороший повод начать ее версионирование.
источник