Я бачив багато постів про переписування програм, які були поганими, досвід людей про це тут, про програмістів, і статтю, яку я підготував Джоел Спольський на цю тему, але жодних вагомих доказів чи тематичних досліджень. Окрім двох прикладів, які Joel дав та деякі інші публікації тут, що ви робите з поганою базою даних коду та як ви вирішите, що робити з нею, грунтуючись на реальних дослідженнях?
Для конкретного випадку, я знаю двох клієнтів, які обоє мають старий спадковий код. Вони продовжують кульгати разом із цим, оскільки, як з'ясував один з них, переписання було катастрофою, це було дорого і насправді не працювало над тим, щоб значно покращити код. Цей клієнт має дуже складну бізнес-логіку, як швидко з’ясували переписувачі.
В обох випадках це критично важливі додатки, які приносять компанії великий прибуток. Той, хто намагався переписати, вважав, що вони вдаряться про цегляну стіну, якщо застаріле програмне забезпечення не буде оновлено в якийсь момент у майбутньому. Для мене такий ризик вимагає проведення досліджень та аналізу, щоб забезпечити успішний шлях.
Чи були фактичні приклади, які досліджували це? Я не хотів би намагатися переписати капітал, не знаючи кращих практик, підводних каменів та успіхів на основі фактичних досліджень.
Після: добре, після більшого пошуку я знайшов три цікаві статті про тематичні дослідження:
- Переписати або повторно використати . Вони провели дослідження над програмою Cobol, яка була перетворена на Java.
- Інша справа була у програмі Повторне використання програмного забезпечення: досвід та уявлення розробників .
- Повторне використання або перезапис Інше дослідження щодо витрат на обслуговування порівняно з переписанням.
Нещодавно я знайшов ще одну статтю на цю тему: The Great Rewrite . Там автор, здається, потрапив у деякі основні проблеми. Поряд з цим виникла ідея прототипування з використанням запропонованого нового стека технологій та вимірювання того, наскільки швидко розробники підхопили його. Це все було як прелюдія до переписування, що я вважав чудовою ідеєю!