рефакторинг в iSeries (RPG), реалистично ли это
-
21-09-2019 - |
Вопрос
Внедрение agile в проекты требует умения проводить рефакторинг.На самом деле это не обязательно, но рефакторинг кода зарекомендовал себя как хорошая инженерная практика.
В гибком проекте (Scrum) на платформе iSeries, который требует разработки (новый код и модификации устаревшего кода) в RPG, RPG LE, возможно ли реализовать рефакторинг?Если да, то какие существуют методы для этого?
Если кто-то, кто пробовал это, мог бы поделиться своим опытом или просто указать на ссылки, я был бы очень признателен.
Решение
Рефакторинг может быть выполнен на самых разных языках, будь то OO или нет.Видишь Рефакторинг для обсуждения рефакторинга с точки зрения, не зависящей от языка.
Другие советы
Только не пытайтесь использовать это в системе начисления заработной платы, если только вы не хотите сделать множество людей очень несчастными одновременно.Часто попытки встроить абстрактные идеи в 20-летний код - это просто приглашение к большим неприятностям.Попробуйте сначала сделать это с чем-нибудь маленьким и новым, если сможете.Я бы предположил, что значительная часть кода в вашем iSeries - это пакетное программное обеспечение, которое было изменено.НЕ начинай с этого.
Это старый вопрос, который продолжает всплывать в самых разных вариантах на протяжении многих лет.Часто это связано с тем, переписываете ли вы старую и плохо скомпонованную программу, которая работает, но сложна в обслуживании.Только вы можете ответить на этот вопрос, но, как правило, хорошей идеей будет подождать, пока не потребуется серьезная доработка, а затем потратить время и риск на то, чтобы сделать его лучше.Не стоит преуменьшать степень риска в этом деле.В профессиональной жизни не так много ощущений хуже, чем пытаться снова собрать шалтая-болтая, находясь под прицелом и зная, что в первую очередь ты сам во всем виноват.
В конце концов, действительно придерживайтесь соотношения затрат и выгод и не вдавайтесь в теоретические рассуждения.Никто не заботится о них, когда критически важные бизнес-функции не работают должным образом.
Существует также эта книга:
Хотя в основном с точки зрения OO, он также обеспечивает процесс, который может быть применен к любому языку.