Определение Википедии из программного обеспечения гнили фокусируется на производительности программного обеспечения. Это другое использование, чем я привык; Я думал об этом гораздо больше с точки зрения чистоты и дизайна кода - с точки зрения того, что код имеет все стандартные характеристики качества: удобочитаемость, удобство обслуживания и т. Д. Теперь производительность может снизиться, когда код станет нечитаемым, потому что никто не знает, что происходит. Но имеет ли термин «программная гниль» особое отношение к производительности? или я прав, думая, что это относится к чистоте кода? или это, возможно, случай множественного смысла употребления термина - с точки зрения пользователя, это связано с производительностью; но для мастера программного обеспечения это более конкретно связано с тем, как читается код?
источник
Ответы:
Термин не связан с производительностью, по крайней мере, нигде, где я видел его использование.
Речь идет конкретно о коде, который плохо поддерживается и становится ... грязным ... гнилым. Речь идет о коде, дизайн которого не обновлялся по мере внесения изменений, и его трудно читать и понимать.
источник
Давайте смотреть правде в глаза. «Программная гниль» не является четко определенной технической концепцией. Это скорее уничижительное описание того, что происходит, когда программное обеспечение плохо обслуживается.
Страница Википедии представляет одно представление, но есть явно альтернативные представления. И вы могли бы сказать, что разные взгляды отражают разные приоритеты и проблемы человека, придерживающегося взглядов:
Кто-то, кто сосредоточен на быстром создании программного обеспечения, будет более склонен искать доказательства "программной гнили" в производительности.
Кто-то, кто сосредоточен на дизайне / архитектуре (например, потому что им нужно добавить новую функциональность или исправить ошибки функциональности), увидит «программную гниль» с этой точки зрения.
И не очень полезно говорить, чья точка зрения более правильная. (Это похоже на спор о том, является ли бирюза более зеленой или синей).
источник
Я бы сказал, что термин «программная гниль» обычно относится к пригодности для поставленной задачи. Программное обеспечение может стать менее подходящим для выполнения поставленной задачи из-за послойного исправления ошибок, новых функций и незначительных настроек. Взятые вместе, они могут отрицательно повлиять как на ремонтопригодность, так и на производительность. Кроме того, потребности организации, вероятно, со временем изменятся, и программное обеспечение может оказаться вынужденным выполнять роли, для которых оно никогда не предназначалось. Все эти факторы приводят к тому, что программное обеспечение становится менее подходящим для потребностей организации, и это может произойти даже при согласованных усилиях по поддержке программного обеспечения.
источник
Википедия говорит, что программная гниль и программная гниль одинаковы. Я не согласен.
Гниение кода - это постепенная потеря читабельности и удобства обслуживания по мере того, как в код вносятся все новые и новые изменения.
Гниение программного обеспечения - это постепенная потеря производительности при перемещении программного обеспечения из одного эмулятора среды в другой. Одним из примеров является все программное обеспечение Data General PDP, работающее на эмуляторах. На самом деле гниет среда, а не программное обеспечение.
источник
Программное обеспечение на самом деле не портится, не устаревает, не изнашивается и не «гниет» в традиционном смысле.
Если среда, в которой работает программное обеспечение, не изменится, программное обеспечение будет существовать вечно. Вот почему я так взволнован, когда кто-то спрашивает, не умерла ли какая-то библиотека, потому что автор не обновлял ее в течение последних 5 минут (лишь немного преувеличивая для эффекта).
Но окружающая среда , как правило , делает изменение; операционные системы исправляются и обновляются, компьютеры заменяются более мощными, и устанавливаются новые программы (например, последняя версия клиента, например Internet Explorer, драйверы устройств или другие библиотеки), от которых может зависеть программное обеспечение. Таким образом, программное обеспечение должно быть обновлено, чтобы учесть эти изменения.
Существуют программные системы, которые работали непрерывно и надежно буквально десятилетия без существенного обновления или обслуживания. Вспоминается программное обеспечение COBOL, работающее на мэйнфреймах, которые обрабатывают банковские транзакции (хотя все они должны были быть изменены в 1999 году для поддержки 2000 года).
Акцент Википедии на производительности, кажется, упускает суть; многие программные приложения на самом деле получают повышение производительности при установке в новой среде. На самом деле статья в Википедии, похоже, больше связана с раздуванием программного обеспечения .
источник
«Программная гниль» - это очень расплывчатый термин, который может означать самые разные вещи в зависимости от того, как вы воспринимаете концепцию, а также от того, каков ваш угол обзора .
Определение Википедии о программном обеспечении rot не устанавливает стандарт, так как оно также написано некоторыми людьми. Я думаю, что этот термин имеет множество значений и должен быть разбит на конкретные области, где он упоминается.
источник
Я всегда думал о программной гнили как о состоянии, которое возникает, когда вы не используете программное обеспечение в течение определенного периода времени. Каким-то образом программное обеспечение превращается в состояние, в котором оно невозможно построить. Затем, когда вы дойдете до того момента, когда сможете его построить, он не будет работать с входами и выходами, как раньше. Это почти как если бы код фактически ухудшался в форме, даже если он хранится в цифровом виде.
источник