Словарик философствующего информатика: различия между версиями
Содержимое удалено Содержимое добавлено
Ramir (обсуждение | вклад) |
Ramir (обсуждение | вклад) |
||
Строка 372:
=== [[Reuse: методология повторного использования]] ===
Переиспользование — применение готовых программных модулей (уже использованных в другой программе либо кем-то другим) при создании нового программного обеспечения. Доля переиспользуемых программных решений выказывает качество организации работы программистской артели, но вовсе не обязательно — качество самой работы. Различные средства модульности и объектности создавались прежде всего с целью облегчить переиспользование. Но обычно они этой цели не достигали.
Вспоминая историю науки и техники, можно заметить, что переиспользование всегда было основным орудием математиков: у них все доказывается на основе ранее доказанного. В технике его удалось достичь, лишь отойдя от индивидуальной подгонки каждой детали и введя строжайшие стандарты и допуски на размеры и характеристики деталей; но это возможно лишь при выпуске одинаковых деталей.
Именно благодаря применению переиспользования удается создавать действительно сложные системы. Но излишнее стремление к переиспользование часто приводит к следующим негативным последствиям:
* программное обеспечение усложняется. Так, при проектировании учитывалось не столько назначение программного обеспечения и логика, сколько наличие нескольких готовых копмонент, которые, как казалось, могли сократить трудоемкость разработки;
* универсальные кирпичики оказываются недостаточно универсальными, то есть не в достаточной степени решающие частные задачи: не совсем те задачи, или те, но не достаточно быстро, точно, без учёта особенностей конкретного случая.
Иными
* Использовать иногда оказывается труднее, чем переписать заново.
* Переиспользование отвлекает проектировщика от концептуальной целостности и может повлечь ошибки в архитектуре.
Строка 402 ⟶ 386 :
Серьёзное программирование — это всегда не массовое производство, а производство уникальных изделий.
Чем больше программирование будет ориентироваться на материальное массовое производство, забывая об этой специфике, и чем дольше оно будет игнорировать опыт математики как чистую теорию (забывая о том, что математика точно так же, как программирование, занимается построением идеальных понятий, рождаемых конкретизацией наших идей силой нашей мысли под контролем нашей логики), тем дольше переиспользование будет оставаться коварной ловушкой, в которую попадались слишком многие.
Смотри также [[#Модульность|модульность]], [[#
=== [[Ортогональность]] ===
|