Устаревший смысл?


когда jQuery, Microsoft или какая-либо другая софтверная компания говорит:"эта функция устарела".

например, когда есть func1, который отлично работает в версии 1.0 и устарел в версии 2.0, которая также вводит новый func2:

  1. должен ли func1 также быть включен в версию 2.0 для обратной совместимости?
  2. предполагается ли, что func1 работает без ошибок в версии 2.0? (func2 отлично работает с версиями 2 и 1)
  3. разрешена функция func2 не чтобы правильно работать в версии 2.0?

что на самом деле означает осуждение и означает ли это то же самое во всех организациях?

например. живой метод в jQuery не работает в 1.7 в IE, но он работает в Chrome).

5 51

5 ответов:

Я думаю Wikipedia-статья об устаревании отвечает на это довольно хорошо:

в процессе разработки компьютерного программного обеспечения, его стандартов или документации, устаревание-это состояние, применяемое к функциям программного обеспечения, чтобы указать, что их следует избегать, как правило, потому, что они были заменены. Хотя устаревшие функции остаются в программном обеспечении, их использование может вызвать предупреждающие сообщения, рекомендующие альтернативные методы, и устаревание может укажите, что эта функция будет удалена в будущем. Функции устаревают, а не сразу удаляются, чтобы обеспечить обратную совместимость и дать программистам, которые использовали эту функцию, время, чтобы привести свой код в соответствие с новым стандартом.

устаревшие означает, что они не рекомендуют использовать его, и что он не подвергается дальнейшему развитию. Но он не должен работать иначе, чем в предыдущей версии, если в документации явно не указано это.

  1. да, иначе это не называлось бы "устаревшим"

  2. Если не указано иное в документах, он должен быть таким же, как и раньше

  3. нет, но если были проблемы в v1 они не исправить их

Deprecated вообще означает"не используйте его".
Устаревшая функция может работать или не работать, но это не гарантируется.

Если есть истинные ответы на эти вопросы, это будет отличаться от поставщика программного обеспечения и будет определяться поставщиком. Я не знаю никаких истинных отраслевых стандартов, которые соблюдаются в отношении этого вопроса.

исторически с Microsoft они будут отмечать что-то как устаревшее и заявлять, что они удалят его в будущей версии. Это может быть несколько версий, прежде чем они на самом деле избавиться от него, хотя.

самый простой ответ на смысл deprecated при использовании для описания программных API:

  • прекратите использовать API, помеченные как устаревшие!
  • они уйдут в следующем выпуске!!
  • начните использовать новые версии как можно скорее!!!