daniel_grishin (daniel_grishin) wrote,
daniel_grishin
daniel_grishin

Categories:

Переносимость как требование к ПО

Сижу тут, ваяю requirements к одному проекту. Получил задачу "А напиши-ка нам о переносимости. Ну так чтоб как положено, независимость от платформ , чтоб платформы менять на раз и всё такое"

Никогда не пробовал, но отчего б не взяться?
Взялся.
Ваяю.
Плююсь.

Оказывается, это требование, довольно модное и распространенное - удивительно пакостная штука.
Во-первых, оно на практике бессмысленное. По определению это мера, показывающая, сколько придется угробить труда, чтобы воссоздать точно такое же на другой платформе (других платформах). В идеале - никакого программирования, никаких доделок: переставил на новое место и оно дальше работает.
Звучит прелестно, но вот беда: гарантированно к моменту, когда будет поставлен вопрос о переносе на другую платформу, функционал изменится так что переделывать придется всё равно. И много. Поэтому требовать "сделайте так, чтоб переделывать не пришлось!" бессмысленно.
Более того, это еще и откровенно вредно. С этим требованием нет никакого смысла производителям платформ (например, СУБД) придумывать и реализовывать фичи, которых нет у других. Ими не смогут воспользоваться, именно потому, что их нет у других. Более того, даже фича , которую сообща внедрят 5-6 лидеров рынка (просто представим себе это, и пусть ругается антикартельное законодательство), тоже бессмысленна, т к она не сможет быть использована старым софтом. Да и новый её поостережется использовать.
Конечно, в реальности фичи все равно внедряют. КОнечно, в реальности разработчики стараются при переносе на новую платформу эти фичи использовать. Конечно, они для этого плюют на переносимость: приходят к манагеру и говорят: "Мы можем заставить прогу работать так же как на старом точно так же как это было раньше, но можно сделать гораздо лучше".

Только зачем тогда когда-то сидели несколько дней и писали эти требования к переносимости, если на них все равно потом приходится плевать?

Ну абсурд же: мы требуем возможности легкого переноса системы, функционал которой нам неизвестен (т к мы не знаем каков желаемый функционал будет у системы через несколько лет) на платформу, свойства которой нам неизвестны (т к если мы свою предсказать на несколько лет вперед не можем то куда уж предсказать на что будут способны СУБД, ОС и так далее)

Лучше бы сосредоточились на общей изменяемости софта. Т е не требовали бы переносить проги без изменений а обеспечили бы легкость этих изменений
Tags: работа
Subscribe

  • Приложения для знакомств или Как не надо заманивать клиента

    Контекстная реклама долго подсовывала "Новую, альтернативную систему знакомств: девушки пишут первыми!" и так далее. Рекламировать не буду, ибо г-но…

  • Очень хочется в космос

    С недавних пор родное правительство нас осчастливило новой заботой о нас же. Наверху вдруг заметили, что народ повадился закупаться на алиэкспрессах…

  • Новая жизнь старых понятий

    Известное когда-то "Не читал, но .. " (осуждаю, категорически против, считаю неприемлемым) в наши дни никуда не исчезло. Просто теперь оно,…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 6 comments