Ремонтопригодность - главная задача профессиональной разработки программного обеспечения. В действительности, обслуживание - это почти всегда самая длинная часть жизненного цикла программного обеспечения, поскольку оно длится с момента выпуска проекта и заканчивается практически до конца времен.
Более того, проекты, находящиеся в эксплуатации, составляют подавляющее большинство от общего числа проектов. Согласно http://www.vlegaci.com/298/interesting-statistics-%E2%80%93-numbers-of-programmers-in-maintenance-vs-development/ , доля проектов в обслуживании составляет около 2 / 3.
Недавно я столкнулся с этим вопросом , когда парень выглядит довольно удивленным, обнаружив, что его работа в основном связана с техническим обслуживанием. Затем я решил открыть дискуссию (по-французски) на главном сайте французского сообщества специалистов по разработке программного обеспечения ( http://www.developpez.com/ ). Дискуссия называется «Достаточно ли хорошо обучены студенты в реальности профессиональной разработки программного обеспечения?» и в основном о ремонтопригодности . Было отмечено, что, по крайней мере, во Франции люди недостаточно подготовлены для того, чтобы столкнуться с обслуживанием в обоих аспектах:
- поддерживать существующий код
- сделать обслуживаемый код
Мой вопрос здесь перекликается с этой дискуссией и направлен на то, чтобы найти хороший способ научить ремонту.
- Как мы можем научить ремонтопригодности?
- Какие упражнения вы бы предложили?
- Если вы хорошо подготовлены в отношении ремонтопригодности, какие конкретно курсы вы посещали?
[править] После некоторого недопонимания я думаю, что должен уточнить мой вопрос. Как руководитель проекта и разработчик программного обеспечения, я часто работаю со стажерами или студентами-выпускниками. Я когда-то был недавно закончил сам. Дело в том, что студенты обычно не знакомы с такими принципами, как SOLID, которые повышают удобство сопровождения проекта. Мы часто сталкиваемся с серьезными трудностями при разработке проектов (низкая ремонтопригодность). То, что я ищу здесь, является конкретным академическим примером успешного преподавания о важности ремонтопригодности и о том, как сделать лучший код относительно этой конкретной точки; или возможные предложения, чтобы улучшить способ обучения студентов.